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
Avatar utente
Anthony47
Moderatore
 
Post: 19196
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
Avatar utente
Anthony47
Moderatore
 
Post: 19196
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
Avatar utente
Anthony47
Moderatore
 
Post: 19196
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
Avatar utente
Anthony47
Moderatore
 
Post: 19196
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
Avatar utente
Anthony47
Moderatore
 
Post: 19196
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
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: 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
Avatar utente
Anthony47
Moderatore
 
Post: 19196
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: Gianca532011 e 37 ospiti