Segue um outro exemplo, com alguns comentários:

CriarPlanilha.vbs

'cria o ServiceManager
Set objServiceManager = WScript.CreateObject("com.sun.star.ServiceManager")

'cria o Desktop
Set objDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")

'cria um objeto PropertyValue e coloca HIDDEN como TRUE
'para que o OpenOffice.org/BrOffice.org não apareça
'durante a criação da planilha
Dim args(0)
Set args(0) = objServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
args(0).Name = "Hidden"
args(0).Value = True

'cria um novo documento
Set objDocument = objDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, args)

'obtem a primeira planilha do documento
Set objSheet = objDocument.GetSheets().GetByIndex(0)

'tabela de meses
Dim meses(11)
meses(0) = "Janeiro"
meses(1) = "Fevereiro"
meses(2) = "Março"
meses(3) = "Abril"
meses(4) = "Maio"
meses(5) = "Junho"
meses(6) = "Julho"
meses(7) = "Agosto"
meses(8) = "Setembro"
meses(9) = "Outubro"
meses(10) = "Novembro"
meses(11) = "Dezembro"

'tabela de valores
Dim valores(11)
valores(0) = 100
valores(1) = 200
valores(2) = 300
valores(3) = 400
valores(4) = 500
valores(5) = 600
valores(6) = 700
valores(7) = 800
valores(8) = 900
valores(9) = 1000
valores(10) = 1100
valores(11) = 1200

'coloca os dados (meses e valores) na planilha
For i = 1 To 12
   'coloca nome do mês na linha I da coluna A (coluna 0)
   objSheet.getCellByPosition(0,i-1).SetString meses(i-1)
   'coloca valor na linha I da coluna B (coluna 1)
   Set objCell = objSheet.getCellByPosition(1,i-1)
   objCell.SetValue valores(i-1)
   objCell.NumberFormat = 2
Next

'coloca uma fórmula (soma das células B1:B12)
objSheet.getCellByPosition(0,13).SetString "Total:"
Set objCell = objSheet.getCellByPosition(1,13)
objCell.Formula = "=SUM(B1:B12)"
objCell.NumberFormat = 2 : 'configura formato para duas casas decimais

'grava planilha em c:\planilha.ods
Dim args2()
objDocument.storeToURL "file:///c:/planilha.ods", args2

'fecha documento
objDocument.Close True


Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta at gmail dot com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a