Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Istruzioni da VBA per oggetti Excel

130 views
Skip to first unread message

gfranc...@gmail.com

unread,
May 31, 2013, 11:03:17 AM5/31/13
to
Grazie ai Vostri suggerimenti utilizzo ormai da tempo leggere e scrivere da VBA, qualsiai foglio Excel. Adesso vi chiederei di suggerirmi come risolvere un nuovo problema che mi sono posto:
Quando vado a scrivere il nuovo Foglio Excel vorrei verificare se quello che voglio scrivere non ci sia già e se lo trovo nella directory, prima di scrivere il nuovo vorrei cancellare il vecchio.
Per essere più chiaro il codice che uso è il seguente:

Dim id_Codice as String
Dim strInput as String
Dim ex As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Set ex = New Excel.Application
ex.Visible = False 'metti false se non vuoi vedere excel a video
ex.EnableEvents = False
Set wb = ex.Workbooks.Open("F:\Duralamp\MasterExcel\Periodo.xlsx")
Set ws = wb.Worksheets(1)

id_Codice = "Periodo.xlsx"
strInput = "F:\GEOXExcel\" & id_Codice

‘ Vedo se il Foglio Excel è già presente e se è così
Lo cancello prima di scrivere il nuovo
ex.EnableEvents = True
wb.SaveAs strInput
wb.Close SaveChanges:=True

Grazie in anticipo e cordiali saluti

@Alex

unread,
May 31, 2013, 12:42:44 PM5/31/13
to
Non sono certo di aver capito in quanto parti parlando di Excel, ma
alla fine devi solo controllare se il FILE non esiste già...?
Ovviamente parliamo del controllo del NOME del File non del
contenuto...

Se ho compreso, non ha nulla di specifico con il VBA di Excel, questo
è comune al VBA della suite Office.

Se così fosse... questa Funzione fa quello che dici...

Public Function EsisteFile(ByVal str As String) As Boolean
On Error Resume Next
EsisteFile = (GetAttr(str) And vbDirectory) = 0
End Function


Saluti
@Alex

gfranc...@gmail.com

unread,
Jun 1, 2013, 3:10:36 AM6/1/13
to
Hai capito benissimo, devo solo controllare che il Nome del File esiste nella Directory F:\GEOXExcel e, se esiste lo devo cancellare.
Per cui, se non ho capito male l'utilizzo dim EsisteFile dovrebbe essere la seguente:
EsisteFile = (GetAttr(id_Codice) And F:\GEOXExcel)
If EsisteFile = 1 Then
'CANCELLO il FOGLIO Excel
End if
Scusa la mia ignoranza; potresti correggere questo mio codice e completarlo con l'istruzione do DELETE del foglio Excel?
Grazie di nuocvo

Bruno Campanini

unread,
Jun 1, 2013, 4:40:01 AM6/1/13
to
gfranc...@gmail.com has brought this to us :
> Grazie ai Vostri suggerimenti utilizzo ormai da tempo leggere e scrivere da
> VBA, qualsiai foglio Excel. Adesso vi chiederei di suggerirmi come risolvere
> un nuovo problema che mi sono posto: Quando vado a scrivere il nuovo Foglio
> Excel vorrei verificare se quello che voglio scrivere non ci sia già e se lo
> trovo nella directory, prima di scrivere il nuovo vorrei cancellare il
> vecchio.
Che senso ha:
1 - vedere se un file esiste
2 - cancellarlo
3 - scriverne un altro con lo stesso nome
? ? ?

Non si fa prima a scrivere il nuovo file,
il quale sovrascriverà eventualmente il vecchio?

Comunque:
Kill "C:\Excel\aaa.xls"
istruzione eseguibile da Access o da Excel.

Bruno


0 new messages