ho due files Sorg.xlsm e Dest.xlsm, il primo viene aperto fisicamente da me, mentre Dest si apre automaticamente, in sola lettura, all'apertura di Sorg.
Ora ho registrato una macro in Dest, che agisce al cambio di un range di celle e che salva il file in formato mht - mhtml (pagina web unica senza cartelle o file aggiuntivi) e che riporto di seguito:
In foglio1
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(7)) Is Nothing Then
Call MacroPerWebbe
End If
End Sub
In modulo a parte
- Codice: Seleziona tutto
Sub MacroPerWebbe()
'
' MacroPerWebbe Macro
'
'
With ActiveWorkbook.PublishObjects("Dest_3650")
.Publish (True)
.AutoRepublish = False
End With
End Sub
Ora il problema:
Se apro Dest direttamente e faccio girare sempre io la macro nessun problema e il file viene salvato nel formato desiderato, ma se apro Sorg, che a sua volta apre Dest in sola lettura in cui vengono riportati i dati che una volta riempito un range specifico dovrebbero far scattare la macro che salva in mht, invece restituiscono errore 1004
Il Debug evidenzia questa riga per l'errore
- Codice: Seleziona tutto
With ActiveWorkbook.PublishObjects("Dest_3650")
E' causato dal fatto che il file Dest è aperto in sola lettura?
Altra cosa che non capisco è perchè quando registro la macro con excel il file Dest viene identificato come "Dest_3650"?