Article View: free.it.visual-basic
Article #3561Re: Form excel
From: Maurizio Borrelli
Date: Thu, 13 Jun 2002 07:38
Date: Thu, 13 Jun 2002 07:38
117 lines
4338 bytes
4338 bytes
> "Alan1" [...]:
> ho creato un form da VisualBasic di
> Excel, perοΏ½ non riesco a lanciarlo dal foglio dove lavoro.
[...]
Ti proporrei di lasciar stare il tuo form, per ora, e di sperimentare la
procedura che ti descrivo nel seguito. Dopo aver verificato il tutto potrai
applicarla al tuo form.
Apri Excel quindi:
File > Nuovo > Generale: Cartella di lavoro [Ok]
File > Salva con nome... > Nome file: TestUserForm [Salva]
Strumenti > Macro > Visual Basic Editor
Esegui > Modalita' progettazione
Inserisci > UserForm
Inserisci > Modulo
Visualizza > Finestra proprieta'
Visualizza > Gestione progetti
e, nella finestra "Gestione progetti" dovresti vedere qualcosa del genere:
[-] VBAProject (TestUserForm.xls)
|- Foglio1 (Foglio1)
|- Modulo1
|- ThisWorkbook
|- UserForm1
Ora nella finestra "Gestione progetti" seleziona "VBAProject", quindi
seleziona la finestra "Proprieta'" ed assegna un nome al progetto:
(Name) PTestUserForm
(dove "P" sta per "Progetto", ma questa e' una convenzione di scrittura e
non e' significativa ai fini del funzionamento.)
Nella finestra "Gestione progetti" seleziona "UserForm1", poi:
Visualizza > Oggetto
Seleziona la finestra "Proprieta'" ed assegna un nome allo UserForm:
(Name) FMyFirstUserForm
(come prima la "P", qui la "F" sta per "Form".)
Nella finestra "Gestione progetti" seleziona "Modulo1" quindi seleziona la
finestra "Proprieta'" ed assegna un nome al modulo:
(Name) MMain
(come prima la "P" e la "F", qui la "M" sta per "Module". "Main", ossia
"principale", perche' questo sara' il nostro modulo principale, da noi
destinato a contenere le procedure richiamabili da excel. Anche questa e'
una convenzione: ci si puo' comportare benissimo in molti altri modi, se si
vuole...)
Ora:
Visualizza > Codice
e copia nel modulo il codice seguente:
' *** INIZIO CODICE ***
Option Explicit
Public Sub TestMyFirstUserForm()
On Error GoTo errh
Dim frm As FMyFirstUserForm
Set frm = New FMyFirstUserForm
frm.Show vbModal
ext:
Set frm = Nothing
Exit Sub
errh:
With Err
MsgBox _
"Errore " & .Number & vbCrLf _
& .Description _
, vbCritical + vbOKOnly _
, "TestUserForm1"
End With
End Sub
' *** FINE CODICE ***
poi:
File > Salva TestUserForm.xls
Degug > Compila PTestUserForm
e, se il compilatore non segnala errori, continua (altrimenti facci
conoscere il messaggio di errore):
File > Salva TestUserForm.xls
Esegui > Esci da modalita' progettazione
File > Chiudi e torna a Microsoft Excel
Finalmente siamo pronti per il test:
Strumenti > Macro > Macro... > Nome macro: TestMyFirstUserForm [Esegui]
Se tutto funziona non ci resta che decidere in quale modo "lanciare" la
macro "TestMyFirstUserForm": una voce di menu', un pulsante in una barra
degli strumenti incorporata o in una personalizzata, un pulsante sul foglio
di lavoro, una scelta rapida di tastiera, ... O tutte queste cose insieme.
--
Ciao.
Maurizio
--------
?SPQR(C)
X
--------
Technical Details
Message-ID:
<ae9hp9$kut$1@newsreader.mailgate.org>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-05!supernews.com!feed.textport.net!diablo.netcom.net.uk!netcom.net.uk!news.tele.dk!small.news.tele.dk!212.177.105.133!news.mailgate.org!newsreader.mailgate.org!not-for-mailReferences:
<pBMN8.36489$5i1.1373230@news2.tin.it>Show Full Headers
Complete Article Headers
X-Google-Language: ITALIAN,ASCII X-Google-Thread: f94ee,765684f68f860f41 X-Google-Attributes: gidf94ee,public X-Google-ArrivalTime: 2002-06-13 00:34:20 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-05!supernews.com!feed.textport.net!diablo.netcom.net.uk!netcom.net.uk!news.tele.dk!small.news.tele.dk!212.177.105.133!news.mailgate.org!newsreader.mailgate.org!not-for-mail From: "Maurizio Borrelli" <maurizio.borrelli@freepass.it> Newsgroups: free.it.visual-basic Subject: Re: Form excel Date: Thu, 13 Jun 2002 09:38:04 +0200 Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Lines: 119 Sender: maurizio.borrelli@freepass.it Message-ID: <ae9hp9$kut$1@newsreader.mailgate.org> References: <pBMN8.36489$5i1.1373230@news2.tin.it> NNTP-Posting-Host: ip219-30.dialup.edisontel.com X-Trace: newsreader.mailgate.org 1023953514 21469 62.94.130.220 (13 Jun 2002 07:31:54 GMT) X-Complaints-To: abuse@mailgate.org NNTP-Posting-Date: Thu, 13 Jun 2002 07:31:54 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000