Condividi:        

Inserire macro in automatico

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Inserire macro in automatico

Postdi Flash30005 » 08/07/10 01:40

nicola_na78 ha scritto:---un'ultima cosa e poi credo di avere finito....

:roll:

Non ci credo! :D

A presto! :D
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: Inserire macro in automatico

Postdi nicola_na78 » 08/07/10 08:11

non funziona.... esiste un'altro modo per poter importare la libreria??
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi Anthony47 » 08/07/10 10:09

Ma quale GUID hai usato, nella pocedura linkatati?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire macro in automatico

Postdi nicola_na78 » 08/07/10 10:52

si!!!! ho copiato il codice ma va in errore
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi Anthony47 » 08/07/10 13:31

Domanda: "Quale.."
Risposta: "Si"

:eeh:
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire macro in automatico

Postdi nicola_na78 » 08/07/10 15:13

mi riferivo al link postato da maxmula..... ho fatto partire il cod altre al fatto che va in errore va a modificare le chiavi di registro.... un modo piu' semplice non esiste???

Codice: Seleziona tutto
Sub AddReference()
     'Macro purpose:  To add a reference to the project using the GUID for the
     'reference library
     Dim strGUID As String, theRef As Variant, i As Long
     'Update the GUID you need below.
    strGUID = "{00020905-0000-0000-C000-000000000046}" 
     'Set to continue in case of error
    On Error Resume Next 
     'Remove any missing references
    For i = ThisWorkbook.VBProject.References.Count To 1 Step -1
        Set theRef = ThisWorkbook.VBProject.References.Item(i)
        If theRef.isbroken = True Then
            ThisWorkbook.VBProject.References.Remove theRef
        End If
    Next i   
     'Clear any errors so that error trapping for GUID additions can be evaluated
    Err.Clear
     'Add the reference
    ThisWorkbook.VBProject.References.AddFromGuid _
    GUID:=strGUID, Major:=1, Minor:=0   
     'If an error was encountered, inform the user
    Select Case Err.Number
    Case Is = 32813
         'Reference already in use.  No action necessary
    Case Is = vbNullString
         'Reference added without issue
    Case Else
         'An unknown error was encountered, so alert the user
        MsgBox "A problem was encountered trying to" & vbNewLine _
        & "add or remove a reference in this file" & vbNewLine & "Please check the " _
        & "references in your VBA project!", vbCritical + vbOKOnly, "Error!"
    End Select
    On Error Goto 0
End Sub


Per favore inserisci il codice macro nei tag [ code] [ /code]: seleziona il testo, premi "Code"
Anthony
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi Anthony47 » 08/07/10 22:45

Il fatto e' che questi riferimenti SONO nel registro di sistema, vedi alla voce HKEY_CLASSES_ROOT.TypeLib
Se vuoi fare una cosa complessa, non hai alternative; e trovo sensato che la cosa ti preoccupi...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire macro in automatico

Postdi nicola_na78 » 09/07/10 08:16

ho risolto....... ho trovato il codice della chiave di reg ho sost e ha funzionato....... grazie!!!!! ;)
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi nicola_na78 » 13/07/10 11:22

Ciao a tutti, ancora una volta ho bisogno del vostro preziosissimo aiuto, in una macro ho inserito un useform con dentro una progress bar, questa all'avanzare dell'elaborazione dei dati dovrebbe man mano avanzare fino alla fine, solo che quando la macro elabora i dati la useform diventa tutta bianca come se fosse bloccata senza vedere la progress bar.... solo quando finisce l'elaborazione la useform ritorna normale..... cosa devo fare????
ringrazio a presto
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi Flash30005 » 13/07/10 12:05

Se vuoi utilizzare lo status bar di excel al posto dell'user form, avrai meno problemi e sarà ugualmente efficiente

all'inizio della routine inserisci queste due righe di codice
Codice: Seleziona tutto
oldStatusBar = Application.DisplayStatusBar    'memorizzi lo stato della StatusBar prima dell'apertura
Application.DisplayStatusBar = True                ' avvii l'applicazione


Nel punto ottimale inserisci questo codice
Codice: Seleziona tutto
       
Application.StatusBar = "Testo del dato che visualizzerai a fianco " & VariabileX
'oppure se hai il valore VariabileX in percentuale
 Application.StatusBar =  VariabileX & " %"


Infine (prima dell'End sub)

Codice: Seleziona tutto
    Application.DisplayStatusBar = oldStatusBar
    Application.DisplayStatusBar = False


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Inserire macro in automatico

Postdi nicola_na78 » 13/07/10 13:22

grazie tante... è perfetto, anche se dal punto di vista grafico la progress dell'userform dava di più all'occhio.... cmq grazie.
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi nicola_na78 » 14/07/10 09:40

ciao a tutti, approfitto ancora della vostra bravura....
con questa parte di codice
F = FreeFile()
D = CurDir
A = Chr(148)
B = Chr(148) & " , "
Open C & "\ordine.txt" For Output As #F For R = PRIMA_RIGA To ULTIMA_RIGA
'cells(R,1) indica la prima colonna, cells(r,3)indica la 3
Print #F, A & Cells(R, 10).Value & B & Cells(R, 6).Value
Next

io mi creo in c:\ un file txt denominato ordine.txt.

se io volessi far si che quando creo il file txt non vada a salvare in c:\ ma, mi dicesse in quale percoso voglio salvarlo cosa devo fare????


grazie
nicola_na78
Utente Senior
 
Post: 186
Iscritto il: 11/06/10 15:26

Re: Inserire macro in automatico

Postdi Flash30005 » 14/07/10 10:33

Puoi usare una cella di excel (nel forum troverai molti esempi)
oppure con una UserForm nel quale inserirai il percorso oppure con una macro tipo questa che ti permette di scegliere la cartella utilizzando la finestra di windows (molto pratica perché non devi digitare a meoria il percorso ed eviti errori di digitazione)
Codice: Seleziona tutto
Sub SalvaDoveVuoi()
fileSaveName = Application.GetSaveAsFilename(fileFilter:="File Testo (*.txt), *.txt")
If fileSaveName <> False Then
    MsgBox "Save as " & fileSaveName
End If
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Inserire macro in automatico":


Chi c’è in linea

Visitano il forum: Nessuno e 80 ospiti