Ciao freewolf e benvenuto nel forum.
Fai un elenco alquanto vario di cose che devi fare, ma non e’ chiaro su quali di quelle cose stai chiedendo aiuto.
In generale hai la possibilita’ di registrare una macro mentre esegui una sequenza di comandi, in modo da avere una macro che ripete la sequenza, e che eventualmente puoi modificare per farle fare qualche cosa in piu’.
Selezionare un foglio, andare su una cella, scrivere un valore, cambiare foglio, selezionare un’ altra cella, inserire un oggetto esterno, attivare una stampa, etc sono tutte cose che puoi fare in modalita’ “registra macro”.
Poi potrai fare le dovute modifiche, ad esempio puoi leggere cosa c’ e’ scritto in una cella con l’ istruzione Sheets("Foglio1").Range("A1").value e usare questo valore al posto della stringa con il nome file che ti compare sul codice registrato, tipo:
- Codice: Seleziona tutto
ActiveSheet.OLEObjects.Add(Filename:= Sheets("Foglio1").Range("A1").value , Link:=False, etc etc
Per quanto riguarda la selezione del file, invece di farlo scrivere a mano in una cella potresti farlo selezionare con una finestra di dialogo tipo quella che excel ti presenta quando dai File /Apri; il codice per fare cio’ e’ il seguente:
- Codice: Seleziona tutto
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "All files", "*.*"
.Filters.Add "Output", "*.pdf", 1
.Show
If .SelectedItems.Count = 0 Then
MsgBox ("Nessuna voce selezionata, procedura annullata")
Exit Sub
End If
FullNome = .SelectedItems(1) 'Directory e Nome del file selezionato
End With
Questo codice ti restituisce il nome pieno del file selezionato, pronto per essere usato in altre parti della macro, ad esempio nel codice che importa l’ oggetto:
- Codice: Seleziona tutto
ActiveSheet.OLEObjects.Add(Filename:= FullNome, Link:=False, etc etc
Pero’ a questo punto mi chiedo che senso ha sia scrivere il nome file in una cella e sia farlo catturare con il codice With Application.FileDialog che ti ho dato sopra, giacche’ anche l’ inserimento dell’ oggetto in excel viene guidato da una finestra di dialogo.
Insomma, e’ evidente che non ho ancora afferrato il bisogno complessivo.
Per quanto riguarda i pulsanti, trovi il simbolo nella barra di strumenti Moduli (Visualizza /Barra degli strumenti; spunta “Moduli”); mentre lo crei ti viene chiesto a quale macro lo vuoi associare, oppure puoi assegnare una macro successivamente (selezioni; tasto dx sulla cornice; scegli Assegna macro).
Se in tutto questo non trovi lo spunto giusto, posta ancora ma spiegando cosa hai gia' fatto e su quali argomenti tra quelli citati chiedi aiuto.
Ciao.