Condividi:        

Errore 1004 su macro salva file come mht - mhtml

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

Errore 1004 su macro salva file come mht - mhtml

Postdi systemcrack » 27/05/24 10:24

Buongiorno a tutti,
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
Immagine

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"?
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Sponsor
 

Re: Errore 1004 su macro salva file come mht - mhtml

Postdi systemcrack » 27/05/24 13:06

Aggiornamento:
systemcrack ha scritto:E' causato dal fatto che il file Dest è aperto in sola lettura?

Ho provato a fare aprire il file Dest non in formato sola lettura usando il seguente comando:
Codice: Seleziona tutto
Application.Iteration = True
Dim Cwkb As Workbook
FTName = "C:\Users\mrosini\Desktop\Portable.xlsm"
mySplit = Split(FTName, "\", , vbTextCompare)
On Error Resume Next
  Set Cwkb = Workbooks(mySplit(UBound(mySplit)))
On Error GoTo 0
If Cwkb Is Nothing Then
  Workbooks.Open Filename:=FTName, ReadOnly:=False
End If

Ho modificato ReadOnly:=True in ReadOnly:=False
Ma l'errore continua a ripresentarsi, perciò non credo che il problema dipenda dal fatto che Dest sia o no in sola lettura.

Ho anche tentato di cambiare la macro che salva il file in mht così:
Codice: Seleziona tutto
   With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
        "C:\Users\mrosini\Desktop\Pagina.mht", "Foglio1", "", xlHtmlStatic, _
        "Portable_10857", "")
        .Publish (True)
        .AutoRepublish = False
    End With

Ma niente da fare.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Errore 1004 su macro salva file come mht - mhtml

Postdi Anthony47 » 27/05/24 17:29

Ho anche tentato di cambiare la macro che salva il file in mht così:
Codice: Seleziona tutto
       With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
            "C:\Users\mrosini\Desktop\Pagina.mht", "Foglio1", "", xlHtmlStatic, _
            "Portable_10857", "")
            .Publish (True)
            .AutoRepublish = False
        End With


Ma niente da fare.

A me questa versione di codice funziona se il foglio esiste NEL FILE ATTIVO al momento, se il percorso di salvataggio esiste e se in file di salvataggio non e' tenuto busy da qualche applicazione.

Il grosso dubbio e' se il file da pubblicare e' quello attivo, cosa che probabilmente e' falso se come penso tieni il file Dest in background per poterci copiare dati provenienti da Sorg.
Se il codice che ho pubblicato appartiene a una macro contenuta nel file Dest allora prova a sostituire ActiveWorkbook con ThisWorkbook:
Codice: Seleziona tutto
With ThisWorkbook.PublishObjects.Add(xlSourceSheet, _
etc etc
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Errore 1004 su macro salva file come mht - mhtml

Postdi systemcrack » 27/05/24 17:48

Domani quando torno in ufficio ci provo e ti faccio sapere. Grazie e buona serata.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Errore 1004 su macro salva file come mht - mhtml

Postdi systemcrack » 29/05/24 08:54

Si come sempre avevi ragione Anthony era quello il problema. Ora funziona come un orologio svizzero. Grazie Anthony.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40


Torna a Applicazioni Office Windows


Topic correlati a "Errore 1004 su macro salva file come mht - mhtml":


Chi c’è in linea

Visitano il forum: Nessuno e 21 ospiti