|
|
|
|
Título da Dica: Entendendo o método createobject
|
|
|
|
Postada em 14/3/2004 por geronimo
Até a versão 7.0 o Word utilizava o WordBasic, a partir da versão 8.0 (MSOFFICE 97) o WordBasic foi substituído pelo VBA , mas mantém o objeto WordBasic apenas por questão de compatibilidade com as versões anteriores.
No VBA foi introduzida uma estrutura de objetos hierarquizada, e para programar em VBA é necessário conhecer esta estrutura. Apenas para ilustrar a diferença vou postar um exemplo parecido, onde leio de um banco de dados e insiro os dados no word Option Explicit
' Referencias => DAO 3.X ' Referencias => Microsoft Word 8.0 Object Library
Private WordApp As Word.Application Private doc As Word.Document Private sel As Word.Selection
Private db As Database Private rs As Recordset
Private Sub cmdExport_Click()
If txtbd.Text <> "" And txttabela.Text <> "" Then
Dim i As Integer Set db = OpenDatabase(txtbd.Text) Set rs = db.OpenRecordset("select * from " & txttabela.Text & " where State = 'MA'")
Set WordApp = New Word.Application
lblStatus.Visible = True
On Error Resume Next WordApp.Documents.Add Set doc = WordApp.ActiveDocument Set sel = WordApp.Selection
'define o número de colunas da tabela
doc.Tables.Add Range:=sel.Range, NumRows:=1, NumColumns:=2
i = 0 Do Until rs.EOF lblStatus.Caption = "Registros Exportados : " & i
sel.TypeText Text:=rs!Name sel.MoveRight unit:=12 ' 12 = proxima celula
sel.TypeText Text:=rs!Address sel.MoveRight unit:=12
rs.MoveNext DoEvents
i = i + 1
Loop
lblStatus.Caption = "Registros Exportados : " & i WordApp.Visible = True
Set WordApp = Nothing Else MsgBox "Informe um Caminho/Nome valido para o Banco de dados/Tabela ! " End If End Sub
|
|
|
|
|