Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Prompt File da aprire su Macro XL

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

Prompt File da aprire su Macro XL

Postdi Angroz » 08/04/10 11:00

Ciao, come faccio a fare in modo che la macro in XL che deve aprire un file mi dia la possibilità di sceglierlo per poi continuare con le operazioni previste?
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Sponsor
 

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 08/04/10 11:15

... aggiungo, il file da aprire è un txt.
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Anthony47 » 08/04/10 22:33

Puoi usare la proprieta' FileDialog, per un esempio vedi qui: viewtopic.php?f=26&t=79448&start=20#p452541, oltre che nell' help on line del vba.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 08/04/10 23:22

è perfetta!

1. dove metto però l'inirizzo da aprire visto che il mio è fisso e non è quello standard?

Sub ScegliFile()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "All files", "*.*"
.Filters.Add "Text", "*.txt", 1
.Show

If .SelectedItems.Count = 0 Then
MsgBox ("Nessuna voce selezionata, procedura annullata")
GoTo Esci
End If
For I = 1 To .SelectedItems.Count
FullNome = .SelectedItems(I) 'Directory e Nome del file selezionato
'istruzioni per processare quel file
Next I
End With
Esci:
End Sub
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Anthony47 » 09/04/10 00:05

Immagino che la tua richiesta sia di impostare una directory a tuo piacere per cominciare la ricerca; per questo userai la proprieta' .InitialFileName, ad esempio metti prima di .show
Codice: Seleziona tutto
.InitialFileName = "C:\"    '<< Directory di partenza
Al posto della stringa puoi anche usare una variabile compilata con una dir valida.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 09/04/10 11:32

Grazie, ora mi apre la finestra ma il file txt selezionato non si apre, perchè?
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Anthony47 » 09/04/10 16:15

Come scritto nella macro, nel topic che ti ho linkato e nell' help on line, FileDialog ti consente di scegliere qualcosa (nel nostro caso un filename) non di aprirlo; che era appunto la tua domanda iniziale.

Hai il nome del file selezionato nella variabile FullNome, adesso che cosa vorresti fare?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 09/04/10 17:07

devo poter scegliere quale TXT file devo aprire e poi far fare alla macro alcune operazioni di tipo copia incolla su un altro foglio. I file TXT hanno tutti la stessa struttura.
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Anthony47 » 09/04/10 19:12

devo poter scegliere quale TXT file devo aprire e poi far fare alla macro alcune operazioni di tipo copia incolla su un altro foglio. I file TXT hanno tutti la stessa struttura.
La prima parte e' fatta, vero?
Per il resto mi permetto di suggerire che i file txt non si copiano/incollano ma si "Importano" (Menu /Dati /Importa dati esterni /Importa dati); per questo ti potra' aiutare registrare una macro mentre fai l' operazione e poi adattare il nome file, fisso nella macro registrata, con il nome contenuto in FullNome.
Se serve aiuto posta ancora riportando il codice della macro registrata.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 22/07/10 15:00

Ciao,
devo importare dei file txt dentro sx, i file hanno tutti lo stesso layout, dopo averli importanti dentro xl devo fare sempre le stesse operazioni (creo delle pivot e le aggiorno, ecc..).

Come faccio ad inserire la scelta del file da importare?
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Anthony47 » 22/07/10 20:27

La domada e' la stessa di tre mesi e mezzo fa, idem la mia risposta.

Che cosa non ti quadra?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 13/12/10 19:16

Ciao,
questo è il mio quesito, la macro importa questo file (PO 13.12.2010.xls). Io vorrei però poterlo scegliere e non so come fare, mi puoi pf aiutare? Grazie


Sub Carica_Spedizioni()
'
' Carica_Spedizioni Macro
'

'
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\TSL Tool\Analisi Spedizioni Settimanali Top 50 Europe" _
, _
"\PO 13.12.2010.xls;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
, _
"Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Je" _
, _
"t OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt D" _
, _
"atabase=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Je" _
, "t OLEDB:Support Complex Data=False"), Destination:=Range("$A$1")). _
QueryTable
.CommandType = xlCmdTable
.CommandText = Array("Foglio1$")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = _
"C:\TSL Tool\Analisi Spedizioni Settimanali Top 50 Europe\PO 13.12.2010.xls"
.ListObject.DisplayName = "Tabella_PO_13.12.2010_1"
.Refresh BackgroundQuery:=False
End With
Range("Tabella_PO_13.12.2010_1[[#Headers],[DATA PO]]").Select
End Sub
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 13/12/10 19:17

Mi spiego meglio, quello che vorrei e poter scegliere il file da importare e non averlo fisso poichè cambia.

Grazie mille!

Angroz
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Flash30005 » 13/12/10 23:34

Come vorresti sceglierlo?
Da un elenco su un foglio di excel (elenco che si crea automaticamente)
Digitandolo su una cella del foglio? (se sai a priori il nome del file)
Oppure che si apra l'esporazione cartelle per permetterti di selezionare il file cambiando anche il percorso?

fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 16/12/10 18:19

Ciao e grazie, vorrei che si apra l'esporazione cartelle per permetterti di selezionare il file cambiando anche il percorso.
Mi aiuti? Grazie

Angroz
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Anthony47 » 16/12/10 22:58

Il mio vba non contiene i comandi che tu usi, comunque e' possibile che tu debba modificare le stringhe della prima istruzione e poi nella SourceDataFile della Query.
Puoi usare per questo scopo la proprieta' FileDialog, come avevi gia' fatto qui viewtopic.php?f=26&t=85904&p=509401#p488692, nell' ipotesi che il tuo vba supporti questa proprieta'.
Con FileDialog metterai path & nome del file in una variabile, es FullNome, poi credo che dovrai modificare questa stringa
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\TSL Tool\Analisi Spedizioni Settimanali Top 50 Europe" _
, _
"\PO 13.12.2010.xls;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
In questa
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" & FullNome & ";Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _

e quest' altra
.SourceDataFile = _
"C:\TSL Tool\Analisi Spedizioni Settimanali Top 50 Europe\PO 13.12.2010.xls"
in questa:
.SourceDataFile = FullNome

Non mi e' chiaro se dovrai modificare anche questa
.ListObject.DisplayName = "Tabella_PO_13.12.2010_1"
Comunque prova prima senza modificarla e poi modificandola in
.ListObject.DisplayName =mid(FullNome, InstrRev(FullNome, "\")+1,99)

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 20/12/10 10:29

scusa ma non sono così pratico, puoi pf aggiungere le tue note nella mia macro?

angrioz
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21

Re: Prompt File da aprire su Macro XL

Postdi Angroz » 23/12/10 18:18

???
Angroz
Utente Junior
 
Post: 53
Iscritto il: 18/11/09 09:21


Torna a Applicazioni Office Windows


Topic correlati a "Prompt File da aprire su Macro XL":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti