πŸš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: free.it.visual-basic
Article #3561

Re: Form excel

#3561
From: Maurizio Borrelli
Date: Thu, 13 Jun 2002 07:38
117 lines
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-mail
References: <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