Condividi:        

Salvare file excel in formato html escludendo le immagini

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

Salvare file excel in formato html escludendo le immagini

Postdi systemcrack » 22/03/24 10:57

Ciao ragazzi, viste le ultime positive novità in azienda vorrei proporre il vecchio progetto al capo (che non è quello di prima) e sto preparando un file di esempio (senza dati sensibili) quindi vorrei salvare un file.xlsm in un file.html, ma escludendo le immagini.
Non capisco quale settaggio devo "lavorare" per non farle comparire nella risultante in html.
Propongo una macro di partenza più semplice (di quella studiata con Anthony qui) in modo che io possa capire:

Codice: Seleziona tutto
Sub Macro5()
'
' Macro3 Macro
'
'
    With ActiveWorkbook.WebOptions
        .RelyOnCSS = True
        .OrganizeInFolder = True
        .UseLongFileNames = True
        .DownloadComponents = False
        .RelyOnVML = False
        .AllowPNG = True
        .ScreenSize = msoScreenSize1024x768
        .PixelsPerInch = 96
        .Encoding = msoEncodingWestern
    End With
    With Application.DefaultWebOptions
        .SaveHiddenData = True
        .LoadPictures = False
        .UpdateLinksOnSave = True
        .CheckIfOfficeIsHTMLEditor = True
        .AlwaysSaveInDefaultEncoding = False
        .SaveNewWebPagesAsWebArchives = True
    End With
    With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
        "C:\Users\mrosini\Desktop\online\schema entrate OGGI.htm", "ENTRATE", _
        "$A$1:$P$201", xlHtmlStatic, "schema entrate OGGI_28591", "Schema Entrate")
        .Publish (True)
        .AutoRepublish = False
    End With
    ChDir "C:\Users\mrosini\Desktop\online"
End Sub

Chiedo perchè ogni volta che salvo il file in html alcune immagini risultano scombinate ed altre che non sono presenti nella versione excel appaiono in quella html. :undecided:
Versione file.xlsm
Immagine

Versione file.html
Immagine
Avatar utente
systemcrack
Utente Senior
 
Post: 278
Iscritto il: 27/07/17 09:40

Sponsor
 

Re: Salvare file excel in formato html escludendo le immagin

Postdi Anthony47 » 22/03/24 17:02

Non so se c'e' un sistema piu' semplice, ma la mia proposta e' di creare una copia del foglio da "pubblicare", su questo foglio rimuovere tutte le immagini, pubblicare il foglio e cancellare la copia creata. In codice:

a) In testa alla tua macro, creare una copia del foglio ed eliminare le immagini:
Codice: Seleziona tutto
Sub Macro5()
'
' Macro3 Macro
'
'
Dim mSh As Shape
'
Sheets("ENTRATE").Copy after:=Sheets("ENTRATE")
For Each mSh In ActiveSheet.Shapes
    mSh.Delete
Next mSh
With ActiveWorkbook.WebOptions
    'etc etc

b) modificare l'istruzione che "pubblica" il foglio, affinche' usi il foglio corrente:
Codice: Seleziona tutto
    With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
        "C:\prova\OGGI.htm", ActiveSheet.Name, _
        "$A$1:$P$201", xlHtmlStatic, "schema entrate OGGI_28591", "Schema Entrate")
        .Publish (True)
        .AutoRepublish = False
    End With


c) eliminare in coda il foglio duplicato
Codice: Seleziona tutto
    ChDir "C:\Users\mrosini\Desktop\online"
   
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

Prova...
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file excel in formato html escludendo le immagin

Postdi systemcrack » 23/03/24 18:53

Ciao Anthony, questo weekend sono io ad essere fuori porta.. e sono riuscito a fare solo una prova al volo ma ricevo errore.
Immagine

Immagine

il codice l'ho "assemblato" così:
Codice: Seleziona tutto
Sub Macro5()
'
' Macro3 Macro
'
'
Dim mSh As Shape
'
Sheets("ENTRATE").Copy after:=Sheets("ENTRATE")
For Each mSh In ActiveSheet.Shapes
    mSh.Delete
Next mSh
With ActiveWorkbook.WebOptions
    With ActiveWorkbook.WebOptions
        .RelyOnCSS = True
        .OrganizeInFolder = True
        .UseLongFileNames = True
        .DownloadComponents = False
        .RelyOnVML = False
        .AllowPNG = True
        .ScreenSize = msoScreenSize1024x768
        .PixelsPerInch = 96
        .Encoding = msoEncodingWestern
    End With
    With Application.DefaultWebOptions
        .SaveHiddenData = True
        .LoadPictures = False
        .UpdateLinksOnSave = True
        .CheckIfOfficeIsHTMLEditor = True
        .AlwaysSaveInDefaultEncoding = False
        .SaveNewWebPagesAsWebArchives = True
    End With
    With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
        "Desktop\prova\OGGI.htm", ActiveSheet.Name, _
        "$A$1:$P$201", xlHtmlStatic, "schema entrate OGGI_28591", "Schema Entrate")
        .Publish (True)
        .AutoRepublish = False
    End With
    ChDir "Desktop\online"
   
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub


Che abbia seguito male le tue istruzioni :undecided: ?
Buon week end! ;)
Avatar utente
systemcrack
Utente Senior
 
Post: 278
Iscritto il: 27/07/17 09:40

Re: Salvare file excel in formato html escludendo le immagin

Postdi Anthony47 » 23/03/24 20:16

Codice: Seleziona tutto
With ActiveWorkbook.WebOptions
    With ActiveWorkbook.WebOptions
Una di queste due righe e' di troppo...
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file excel in formato html escludendo le immagin

Postdi systemcrack » 27/03/24 19:07

Scusami Anthony, pensavo di averti ringraziato per anche questo aiuto ed invece no.. sperando mi perdonerai il ritardo: Grazie (anche se non ho ancora avuto il tempo di eseguire la modifica).. sulla fiducia :lol:
Avatar utente
systemcrack
Utente Senior
 
Post: 278
Iscritto il: 27/07/17 09:40

Re: Salvare file excel in formato html escludendo le immagin

Postdi Anthony47 » 28/03/24 01:54

Ma io ero convinto che fossi ancora al mare...
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file excel in formato html escludendo le immagin

Postdi systemcrack » 29/03/24 14:00

Anthony47 ha scritto:Ma io ero convinto che fossi ancora al mare...

Io ci abito al mare ci sono sempre :lol:
Ne approfitto per farti/vi (anche a tutto il resto della community) gli auguri più sinceri di buona pasqua. ;)

Ps.
Anthony scusa una curiosità, ma se io nel salvataggio volessi eliminare alcune colonne dal range che inizialmente era questo?
Codice: Seleziona tutto
"$A$1:$P$201"

Per ragioni di visualizzazione e protezione dei dati, sui dispositivi mobili, avrei necessità di eliminare alcune colonne dal file e quindi il range sarebbe spezzato sulle colonne:
Codice: Seleziona tutto
A+B+C+F+H+I+K+P

mentre il nr delle righe rimarrebbe invariato da 1 a 201.
Codice: Seleziona tutto
"$A$1:$C$201:$F$1:$F$201:$H$1:$H$201:$P$1:$P$201"

Così dici che va oppure dimentico qualche cosa?
Avatar utente
systemcrack
Utente Senior
 
Post: 278
Iscritto il: 27/07/17 09:40

Re: Salvare file excel in formato html escludendo le immagin

Postdi Anthony47 » 29/03/24 19:36

Codice: Seleziona tutto
    "$A$1:$C$201:$F$1:$F$201:$H$1:$H$201:$P$1:$P$201"


Così dici che va oppure dimentico qualche cosa?
Un indirizzamento alquanto avventuroso... Ma anche se fatto sintatticamente bene non funzionerebbe perche' Publish non lavora si intervalli discontinui.

Puoi nascondere le colonne che danno fastidio e poi lavorare con l'intero intervallo "$A$1:$P$201". In codice:
Codice: Seleziona tutto
    Columns("A:P").Hidden = False
    Range("D:E,G:G,L:O").EntireColumn.Hidden = True                'Nascondi queste colonne
'continua il tuo codice

Solo un warning: i dati nascosti non vengono visualizzati ma sono presenti sulla pagina web, potenzialmente accessibili con piccoli trucchi. Se ci fosse un problema potenziale di privacy allora le colonne vanno eliminate invece che nascoste.
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file excel in formato html escludendo le immagin

Postdi systemcrack » 30/03/24 16:27

Grazie Anthony! ;)
Ma quindi se volessi saltare direttamente all'eliminazione delle colonne non dovrei fare altro che sostituire Hidden con Delete..?
Avatar utente
systemcrack
Utente Senior
 
Post: 278
Iscritto il: 27/07/17 09:40

Re: Salvare file excel in formato html escludendo le immagin

Postdi Anthony47 » 30/03/24 17:35

Eh, probabilmente si.
Pero' se registri una macro mentre elimini una (o piu' colonne) otterrai i comandi giusti
Per le istruzioni e i primi suggerimenti su come registrare una macro:
http://www.pc-facile.com/forum/viewtopi ... 93#p622593

Inoltre se in giro ci fossero delle formule bisogna vedere l'effetto dell'eliminazione di quelle colonne; oppure (che e' l'approccio che suggerisco) si copia tutto l'intervallo e poi si Incolla-Speciale-Valori, POI si eliminano le colonne
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file excel in formato html escludendo le immagin

Postdi systemcrack » 31/03/24 10:40

Tutto chiaro Anthony. Grazie per i tuoi consigli.
Buo a Pasqua.
Avatar utente
systemcrack
Utente Senior
 
Post: 278
Iscritto il: 27/07/17 09:40


Torna a Applicazioni Office Windows


Topic correlati a "Salvare file excel in formato html escludendo le immagini":


Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti