VBscript formato pagina

Creare una macro - Scrivere uno script - Usare le API
Rispondi
hobbit
Messaggi: 3
Iscritto il: domenica 10 gennaio 2016, 17:11

VBscript formato pagina

Messaggio da hobbit »

Buonasera,
ho difficoltà ha modificare le impostazioni del formato della pagina utilizzando VBscript.
In particolare devo impostare per un foglio di calcolo il formato orizzontale.
Ho trovato questo codice sul manuale di VbaStarOffice ma non riesco a tradurlo in istruzioni valide per il VBscript.
Qualcuno può aiutarmi? Grazie

Dim Doc As Object
Dim Sheet As Object
Dim StyleFamilies As Object
Dim PageStyles As Object
Dim DefPage As Object
Doc = StarDesktop.CurrentComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
DefPage.IsLandscape = True
DefPage.Width = 21000
DefPage.Height = 14800
OpenOffice 4.2.1 Windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: VBscript formato pagina

Messaggio da patel »

VBscript ? VbaStarOffice ? spiegati meglio, dove li hai trovati ? Non siamo su Excel.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
hobbit
Messaggi: 3
Iscritto il: domenica 10 gennaio 2016, 17:11

Re: VBscript formato pagina

Messaggio da hobbit »

Ho scritto sul Forum di OpenOffice proprio perché devo operare con Apache OpenOffice Calc ma utilizzando il linguaggio di script di Microsoft VBscript.
Non sto dicendo un'eresia in quanto sfruttando l'interfaccia UNO (Universal Network Objects) e un linguaggio ad oggetti è possibile sfruttare le API di OpenOffice.
Il mio problema non è chiedere se è possibile farlo in quanto l'ho già utilizzato precedentemente, ho difficoltà nel passare i parametri di formattazione della pagina.
Spero di trovare qualcuno che mi possa aiutare.
Grazie.
OpenOffice 4.2.1 Windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: VBscript formato pagina

Messaggio da patel »

Oltre che a chiedere potresti anche rispondere a chi ti chiede lumi, potrebbe interessare anche ad altri.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: VBscript formato pagina

Messaggio da Gaetanopr »

hobbit ha scritto: Non sto dicendo un'eresia
Nessuno sta dicendo questo ti è stato semplicemente chiesto di spiegarti meglio.
hobbit ha scritto: ho difficoltà nel passare i parametri di formattazione della pagina.
Se ti riferisci al formato orizzontale del foglio prova in questo modo

Codice: Seleziona tutto

Sub Main
Dim Props() As New com.sun.star.beans.PropertyValue
Dim mDI(0) As New com.sun.star.beans.PropertyValue
mDI(0).Name = "PaperOrientation"
mDI(0).Value = com.sun.star.view.PaperOrientation.LANDSCAPE
Dim adrZones(0) As New com.sun.star.table.CellRangeAddress
Foglio = ThisComponent.Sheets(0) 
adrZones(0) = Foglio.RangeAddress
Foglio.PrintAreas = adrZones()
ThisComponent.setPrinter( mDI )
ThisComponent.Print(Props()) 
End Sub
La macro stampa il foglio1 in formato orizzontale
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
hobbit
Messaggi: 3
Iscritto il: domenica 10 gennaio 2016, 17:11

Re: VBscript formato pagina

Messaggio da hobbit »

Chiedo scusa a Patel non volevo essere scortese.

Ho provato il codice inviato da Gaetanopr ma in VBscript si blocca già sulla prima riga non è la sintassi corretta.

La funzione che hai utilizzato nella prima riga l'avevo provata in precedenza e la sintassi in VBscript è:

Dim Props (), oSM
Set oSM = CreateObject("com.sun.star.ServiceManager")
Set Props = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")

purtroppo provando il resto non mi funziona.
Penso che il problema sta proprio qui, cioè tradurre nel modo corretto il basic utilizzato nelle macro in VBscript.
OpenOffice 4.2.1 Windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: VBscript formato pagina

Messaggio da Gaetanopr »

hobbit ha scritto: Penso che il problema sta proprio qui, cioè tradurre nel modo corretto il basic utilizzato nelle macro in VBscript.
Allora credo di non aver capito, entrambi i codici sia il tuo che il mio a me funzionano su OpenOffice, lo stesso codice tradotto in Vba potrebbe essere qualcosa del genere

Codice: Seleziona tutto

Option VBASupport 1 
Sub Pagina

ActiveSheet.PageSetup.Orientation = xlLandscape
      
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Rispondi