| | Post: 324 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
17/03/2017 19:20 | |
Salve,
con il codice sottoriportato collegato ad bottone
mi permette di aprire il file excel
come faccio ad impedire di aprire file che si chimano in modo diverso ?
Sub Apri_Click()
MsgBox "ATTENZIONE !!!" + Chr(13) + Chr(10) + "Prima di aprire il file assicurati che sia rinominato in questo modo: " + Chr(13) + Chr(10) + "" + Chr(13) + Chr(10) + "---> IstituzionaleMensile"
Dim MyPercorso As String
MyPercorso = CurDir
ChDir (ThisWorkbook.Path)
fileDaAprire = Application.GetOpenFilename("Tutti i file (*.*), *.*")
If fileDaAprire <> False Then
MsgBox "Sto aprendo il file: " & fileDaAprire
Workbooks.Open Filename:=fileDaAprire
End If
Windows("IMA.xlsm").Activate
end sub Excel 2007 - 2010 |
|
| | Post: 3.771 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
18/03/2017 08:28 | |
Sub Apri_Click()
fname = "---> IstituzionaleMensile"
ChDir (ThisWorkbook.Path)
fileDaAprire = Application.GetOpenFilename("Tutti i file (*.*), *.*")
If fileDaAprire <> False Then
p = InStrRev(fileDaAprire, "\")
ffile = Right(fileDaAprire, Len(fileDaAprire) - p)
If ffile = fname Then
MsgBox "Sto aprendo il file: " & fileDaAprire
Workbooks.Open Filename:=fileDaAprire
End If
End If
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 325 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
18/03/2017 11:50 | |
Ciao,
grazie per la celere risposta ho provato il codice ma non ottengo differenze, sbaglierò !!!
Comunque visto che ci siamo propongo un'alternativa
il file che devo aprire ogni mese si chiamano in questo modo
IstituzionaleMensile luglio 2016
IstituzionaleMensile agosto 2016
IstituzionaleMensile settembre 2016
quindi probabilmente posso evitare tutte queste difficolta
se in qualche modo riesco a far riconoscere il nome del file che apro
Excel 2007 - 2010 |
| | Post: 3.772 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
18/03/2017 12:07 | |
Sub Apri_Click()
fname = "IstituzionaleMensile"
ChDir (ThisWorkbook.Path)
fileDaAprire = Application.GetOpenFilename("Tutti i file (*.*), *.*")
If fileDaAprire <> False Then
If instr(fileDaAprire,fname) > 0 Then
MsgBox "Sto aprendo il file: " & fileDaAprire
Workbooks.Open Filename:=fileDaAprire
End If
End If
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 326 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
18/03/2017 12:20 | |
questo perche dopo il primo passaggio di aperture del nuovo file
devo importare i dati da questo nuovo ad uno di rifeirmento ed ho usato questo codice
Private Sub Importa_Click()
With ThisWorkbook
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "Temp"
End With
ActiveSheet.Activate
Cells.Select
Selection.Copy
Windows("IMA.xlsm").Activate
Sheets("Temp").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("IstituzionaleMensile.xls").Activate 'qui mi da errore perchè il nome del file ovviamente cmabia
ActiveWorkbook.Close SaveChanges:=False
Windows("IMA.xlsm").Activate
DiffData.Enabled = True
End Sub Excel 2007 - 2010 |
| | Post: 3.773 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
18/03/2017 14:11 | |
non ho capito se ti va bene l'ultima soluzione che ti ho proposto
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 327 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
19/03/2017 06:14 | |
Si l'ultimo tuo codice funziona egregiamente ma mi sono accorto che il mio problema è in realtà nel secondo passaggio quello di importare da questa cartella attiva, vedi codice sotto:
Private Sub Importa_Click()
With ThisWorkbook
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "Temp"
End With
ActiveSheet.Activate
Cells.Select
Selection.Copy
Windows("IMA.xlsm").Activate
Sheets("Temp").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("IstituzionaleMensile.xls").Activate
'QUI MI DA ERRORE PER LA CARELLA APPENA APERTA IN REALT HA NOMI SEMPRE DIVERSI ... COME FACCIO ?
ActiveWorkbook.Close SaveChanges:=False
Windows("IMA.xlsm").Activate
DiffData.Enabled = True
End Sub Excel 2007 - 2010 |
| | Post: 3.774 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
19/03/2017 07:46 | |
il nome esatto del file che hai aperto ce l'hai dalla prima sub, non capisco perché non lo usi
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 328 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
19/03/2017 11:09 | |
Si si in fatti poi ci sono arrivato e sto utilizzando
ActiveWorkbook.Name per cattura il nome della carella di lavoro
pero mi restituisce nome file.xls come faccio a poterlo riutilizzare
come nome per il foglio liminando .xls ?
infine un'altro cosa come faccio a far apparire un messaggio di avviso in caso si aprie un file che è stato gia aperto ?
Grazie 1000 per l'attenzione
Excel 2007 - 2010 |
| | Post: 329 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
19/03/2017 11:15 | |
per l'estensione ho trovato la soluzione, questa:
Label1.Caption = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
giusto !!! sembra funzionare
Per l'altra soluzione del confronto ci sto lavorando ma un vostro aiuto sarebbe gradito
Grazie Excel 2007 - 2010 |
| | Post: 3.776 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
19/03/2017 11:15 | |
krashone, 19/03/2017 11.09:
pero mi restituisce nome file.xls come faccio a poterlo riutilizzare
come nome per il foglio liminando .xls ?
nomefile = "pippo.xls"
nome = left(nomefile, len(nomefile) -4)
msgbox nome
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 330 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
19/03/2017 11:22 | |
Ho cantato vittoria troppo presto
perche il nome del file che utilizzo "IstituzionaleMensile giugno 2016" è troppo lungo per rinominare un foglio
come lo accorcio ? Excel 2007 - 2010 |
| | Post: 331 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
19/03/2017 11:58 | |
ho risolto cosi
noest = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
IMA.fgname.Caption = Replace(noest, "IstituzionaleMensile", "IstMen")
va bene ?
Excel 2007 - 2010 |
| | Post: 3.777 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
19/03/2017 12:59 | |
se funziona va bene
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 332 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
19/03/2017 17:52 | |
|
| | Post: 334 | Registrato il: 29/09/2003
| Città: ACCIANO | Età: 26 | Utente Senior | 2003/2007 | | OFFLINE | |
|
22/03/2017 06:06 | |
Ancora sull'argomento
ho notato che se clicco sul bottone per aprire il file ma se poi non seleziono nullo e faccio annulla la routine non si arresta ma va avanti come se lo avesse aperto
cè un modo per intercettare ?
Grazie Excel 2007 - 2010 |
| | Post: 3.781 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
22/03/2017 07:05 | |
sicuramente c'è, ma se non mostri il codice che stai usando ....
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
|
|