salvare singolo foglio con nome cella

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

salvare singolo foglio con nome cella

Messaggio da finoalmattino »

salve di nuovooo
q.cuno mi sa dire come salvare 1 singolo foglio dandogli il nome di 1 cella ?
grazieee
open office 3.2 su windows 7
Avatar utente
Robert Tucker
Messaggi: 210
Iscritto il: domenica 21 marzo 2010, 11:54
Località: Manchester, UK

Re: salvare singolo foglio con nome cella

Messaggio da Robert Tucker »

LibreOffice 7.x.x su Arch e Fedora.
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: salvare singolo foglio con nome cella

Messaggio da patel »

questo per salvare il foglio1 col nome del foglio stesso
Sub salvaunfoglio
Dim arg(0) as new com.sun.star.beans.PropertyValue
dim args1(2) as new com.sun.star.beans.PropertyValue
cFolder = "C:\users\Andrea\Desktop\"
oDoc=thiscomponent
oSheets = oDoc.Sheets()
aSheetNames = oSheets.getElementNames()
Dim removeList(oSheets.getCount()) as String
index=0 ' <<<<<<<<<<<< vale per il foglio1
oSheet = oSheets.getByIndex(index)
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
cNewFileName = aSheetNames(index)
cNewFileName = Replace(cNewFileName, " ", "_") ' Replace spaces with underscores
oController = oDoc.GetCurrentController() 'view controller
oController.SetActiveSheet(oSheet) 'switches view to sheet object
document = oDoc.CurrentController.Frame
newDoc = StarDesktop.loadComponentFromURL("private:factory/scalc" ,"_blank", 0, Arg() )
newDoc.StoreAsURL(ConvertToUrl(cFolder + cNewFileName + ".ods" ), arg() )
args1(0).Name = "DocName"
args1(0).Value = cNewFileName
args1(1).Name = "Index"
args1(1).Value = 1
args1(2).Name = "Copy"
args1(2).Value = true
dispatcher.executeDispatch(document, ".uno:Move", "", 0, args1())
for s = 0 to newDoc.Sheets.Count - 1
sheet = newDoc.Sheets(s)
if sheet.Name <> cNewFileName then
removeList(s) = sheet.Name
else
removeList(s) = ""
end if
next s
'Remove all sheets apart from the active one
for s = 0 to ubound(removeList)
if removeList(s) <> "" then
newDoc.Sheets.removeByName( removeList(s))
end if
next s
newDoc.Store
newDoc.close(true)
'oDoc.dispose()
End Sub
Purtoppo su OO non sono disponibili tutti i comandi presenti su excel, bisogna arrangiarsi e il codice diventa lungo.

Il codice scritto per OO non funziona 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
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

Re: salvare singolo foglio con nome cella

Messaggio da finoalmattino »

for s = 0 to newDoc.Sheets.Count - 1..... a questa linea di programma si blocca...
andrebbe bene anche una macro che rilevi il nome dalla cella e salva il foglio col nome in .pdf
e' possibile ?
ciaooo
open office 3.2 su windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: salvare singolo foglio con nome cella

Messaggio da patel »

finoalmattino ha scritto:for s = 0 to newDoc.Sheets.Count - 1..... a questa linea di programma si blocca...
si blocca e dà un errore, quale ? a me funziona.
-------------------
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
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

Re: salvare singolo foglio con nome cella

Messaggio da finoalmattino »

ERRORE: valore o tipo di dati non ammesso
tipi di dati non corrispondenti
open office 3.2 su windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: salvare singolo foglio con nome cella

Messaggio da patel »

prova a eliminare queste righe

Codice: Seleziona tutto

'	  for s = 0 to newDoc.Sheets.Count - 1
'        sheet = newDoc.Sheets(s)
'		if sheet.Name <>  cNewFileName then
'		  removeList(s) = sheet.Name
'		else
'		   removeList(s) = ""
'		end if
'	  next s
-------------------
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
finoalmattino
Messaggi: 37
Iscritto il: martedì 25 ottobre 2011, 9:48

Re: salvare singolo foglio con nome cella

Messaggio da finoalmattino »

una macro che prende il nome da una cella e salva iil foglio in pdf ?
graaaaaaazieeeeeeeeee
open office 3.2 su windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: salvare singolo foglio con nome cella

Messaggio da patel »

-------------------
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
Rispondi