rene_carballo
asked on
ADO command to create empty WORD document
The OPEN Method blows up unless "c:\temp\naics_manual.doc' already exists. What do I add to create the file?
Private Sub WriteToWORD()
Dim wrdApp As Word.Application
Set wrdApp = CreateObject("word.Applica tion")
' what goes here??
wrdApp.Documents.Open "c:\temp\naics_manual.doc"
wrdApp.ActiveDocument.Sele ct
wrdApp.Visible = True
wrdApp.ActiveDocument.Save As "c:\temp\naics_manual.doc"
Set wrdApp = Nothing
End Sub
Private Sub WriteToWORD()
Dim wrdApp As Word.Application
Set wrdApp = CreateObject("word.Applica
' what goes here??
wrdApp.Documents.Open "c:\temp\naics_manual.doc"
wrdApp.ActiveDocument.Sele
wrdApp.Visible = True
wrdApp.ActiveDocument.Save
Set wrdApp = Nothing
End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Also, I would suggest that you use early binding instead of late binding, if possible.
ASKER
Thanks all.
angleIII's remedy works except:
1. d.saveas "c:\temp\naics_manual.doc" ...has syntax error, and
2. my formatting was dissabled.
How do I associate the formatting with "d" instead of "wrdApp"?
Thanks, Rene'
Here's the whole Subroutine.
-------------------------- ---------- ---------- ---------- ---------- -----
Private Sub WriteToWORD()
Dim rs_source_qry As ADODB.Recordset
Dim wrdApp As Word.Application
Dim d As Word.Documents
'Dim strCopyFile As String
Dim str_sql As String
Dim str_NAICS_Code_out As String
'Dim int_pad As Integer
Dim rng As Range
'Dim strFileSpec As String
str_sql = "SELECT * FROM qry_2007_union_tbl_all_15t h"
Set rs_source_qry = New ADODB.Recordset
rs_source_qry.Open str_sql, CurrentProject.Connection
Set wrdApp = CreateObject("word.Applica tion")
On Error Resume Next
Set d = wrdApp.Documents.Open("c:\ temp\naics _manual.do c")
If d Is Nothing Then
Set d = wrdApp.Documents.Add
' d.SaveAs "c:\temp\naics_manual.doc"
End If
Set rng = ActiveDocument.Range
wrdApp.ActiveDocument.Sele ct
'wrdApp.ActiveDocument.Pag eSetup.Lef tMargin = 0
'With ActiveDocument.PageSetup
' .LeftMargin = 1
'End With
rng.PageSetup.LeftMargin = 20
rng.PageSetup.TopMargin = 20
rng.PageSetup.BottomMargin = 20
rng.Font.Name = "Times New Roman"
rng.Font.Bold = False
rng.Font.Size = 9
Do While Not rs_source_qry.EOF
str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(2 * (6 - Len(rs_source_qry!NAICS_Co de)), " ")
'str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(int_pad, " ")
wrdApp.Selection.typetext str_NAICS_Code_out
wrdApp.Selection.typetext " "
wrdApp.Selection.typetext rs_source_qry!Title
wrdApp.Selection.typetext " "
wrdApp.Selection.Font.Supe rscript = True
'wrdApp.Selection.Font.Bol d = True
wrdApp.Selection.typetext Nz(rs_source_qry!Country)
'wrdApp.Selection.Font.Bol d = False
wrdApp.Selection.Font.Supe rscript = False
wrdApp.Selection.typeparag raph
rs_source_qry.MoveNext
Loop
wrdApp.Visible = True
wrdApp.ActiveDocument.Save As "c:\temp\naics_manual.doc"
rs_source_qry.Close
'wrdApp.Documents.Close "c:\temp\naics_manual.doc"
Set rs_source_qry = Nothing
Set wrdApp = Nothing
'strFileSpec = ActiveDocument.FullName
'ActiveDocument.Close
'Kill strFileSpec
End Sub
angleIII's remedy works except:
1. d.saveas "c:\temp\naics_manual.doc"
2. my formatting was dissabled.
How do I associate the formatting with "d" instead of "wrdApp"?
Thanks, Rene'
Here's the whole Subroutine.
--------------------------
Private Sub WriteToWORD()
Dim rs_source_qry As ADODB.Recordset
Dim wrdApp As Word.Application
Dim d As Word.Documents
'Dim strCopyFile As String
Dim str_sql As String
Dim str_NAICS_Code_out As String
'Dim int_pad As Integer
Dim rng As Range
'Dim strFileSpec As String
str_sql = "SELECT * FROM qry_2007_union_tbl_all_15t
Set rs_source_qry = New ADODB.Recordset
rs_source_qry.Open str_sql, CurrentProject.Connection
Set wrdApp = CreateObject("word.Applica
On Error Resume Next
Set d = wrdApp.Documents.Open("c:\
If d Is Nothing Then
Set d = wrdApp.Documents.Add
' d.SaveAs "c:\temp\naics_manual.doc"
End If
Set rng = ActiveDocument.Range
wrdApp.ActiveDocument.Sele
'wrdApp.ActiveDocument.Pag
'With ActiveDocument.PageSetup
' .LeftMargin = 1
'End With
rng.PageSetup.LeftMargin = 20
rng.PageSetup.TopMargin = 20
rng.PageSetup.BottomMargin
rng.Font.Name = "Times New Roman"
rng.Font.Bold = False
rng.Font.Size = 9
Do While Not rs_source_qry.EOF
str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(2 * (6 - Len(rs_source_qry!NAICS_Co
'str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(int_pad, " ")
wrdApp.Selection.typetext str_NAICS_Code_out
wrdApp.Selection.typetext " "
wrdApp.Selection.typetext rs_source_qry!Title
wrdApp.Selection.typetext " "
wrdApp.Selection.Font.Supe
'wrdApp.Selection.Font.Bol
wrdApp.Selection.typetext Nz(rs_source_qry!Country)
'wrdApp.Selection.Font.Bol
wrdApp.Selection.Font.Supe
wrdApp.Selection.typeparag
rs_source_qry.MoveNext
Loop
wrdApp.Visible = True
wrdApp.ActiveDocument.Save
rs_source_qry.Close
'wrdApp.Documents.Close "c:\temp\naics_manual.doc"
Set rs_source_qry = Nothing
Set wrdApp = Nothing
'strFileSpec = ActiveDocument.FullName
'ActiveDocument.Close
'Kill strFileSpec
End Sub
>Dim d As Word.Documents
should be
Dim d As Word.Document
it's a single document, not the documents collection...
and from that point on, you should use the d object instead of ActiveDocument or wrdApp.ActiveDocument, it's safer and faster
also, wrdApp.Selection should be replaced by d.Selection
should be
Dim d As Word.Document
it's a single document, not the documents collection...
and from that point on, you should use the d object instead of ActiveDocument or wrdApp.ActiveDocument, it's safer and faster
also, wrdApp.Selection should be replaced by d.Selection
ASKER
OK. Thanks angelIII. I'm almost done. But why is my superscript font now dissabled?
_____________
Private Sub WriteToWORD()
Dim rs_source_qry As ADODB.Recordset
Dim wrdApp As Word.Application
Dim d As Word.Document
'Dim strCopyFile As String
Dim str_sql As String
Dim str_NAICS_Code_out As String
'Dim int_pad As Integer
Dim rng As Range
'Dim strFileSpec As String
str_sql = "SELECT * FROM qry_2007_union_tbl_all_15t h"
Set rs_source_qry = New ADODB.Recordset
rs_source_qry.Open str_sql, CurrentProject.Connection
Set wrdApp = CreateObject("word.Applica tion")
On Error Resume Next
Set d = wrdApp.Documents.Open("c:\ temp\naics _manual.do c")
If d Is Nothing Then
Set d = wrdApp.Documents.Add
d.SaveAs "c:\temp\naics_manual.doc"
End If
Set rng = d.Range
d.Select
'wrdApp.ActiveDocument.Pag eSetup.Lef tMargin = 0
'With ActiveDocument.PageSetup
' .LeftMargin = 1
'End With
rng.PageSetup.LeftMargin = 20
rng.PageSetup.TopMargin = 20
rng.PageSetup.BottomMargin = 20
rng.Font.Name = "Times New Roman"
rng.Font.Bold = False
rng.Font.Size = 9
Do While Not rs_source_qry.EOF
str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(2 * (6 - Len(rs_source_qry!NAICS_Co de)), " ")
'str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(int_pad, " ")
d.Selection.typetext str_NAICS_Code_out
d.Selection.typetext " "
d.Selection.typetext rs_source_qry!Title
d.Selection.typetext " "
d.Selection.Font.Superscri pt = True
'd.selection.Font.Bold = True
d.Selection.typetext Nz(rs_source_qry!Country)
'd.selection.Font.Bold = False
d.Selection.Font.Superscri pt = False
d.Selection.typeparagraph
rs_source_qry.MoveNext
Loop
wrdApp.Visible = True
d.SaveAs "c:\temp\naics_manual.doc"
rs_source_qry.Close
'wrdApp.Documents.Close "c:\temp\naics_manual.doc"
Set rs_source_qry = Nothing
Set wrdApp = Nothing
'strFileSpec = ActiveDocument.FullName
'ActiveDocument.Close
'Kill strFileSpec
End Sub
_____________
Private Sub WriteToWORD()
Dim rs_source_qry As ADODB.Recordset
Dim wrdApp As Word.Application
Dim d As Word.Document
'Dim strCopyFile As String
Dim str_sql As String
Dim str_NAICS_Code_out As String
'Dim int_pad As Integer
Dim rng As Range
'Dim strFileSpec As String
str_sql = "SELECT * FROM qry_2007_union_tbl_all_15t
Set rs_source_qry = New ADODB.Recordset
rs_source_qry.Open str_sql, CurrentProject.Connection
Set wrdApp = CreateObject("word.Applica
On Error Resume Next
Set d = wrdApp.Documents.Open("c:\
If d Is Nothing Then
Set d = wrdApp.Documents.Add
d.SaveAs "c:\temp\naics_manual.doc"
End If
Set rng = d.Range
d.Select
'wrdApp.ActiveDocument.Pag
'With ActiveDocument.PageSetup
' .LeftMargin = 1
'End With
rng.PageSetup.LeftMargin = 20
rng.PageSetup.TopMargin = 20
rng.PageSetup.BottomMargin
rng.Font.Name = "Times New Roman"
rng.Font.Bold = False
rng.Font.Size = 9
Do While Not rs_source_qry.EOF
str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(2 * (6 - Len(rs_source_qry!NAICS_Co
'str_NAICS_Code_out = rs_source_qry!NAICS_Code & String(int_pad, " ")
d.Selection.typetext str_NAICS_Code_out
d.Selection.typetext " "
d.Selection.typetext rs_source_qry!Title
d.Selection.typetext " "
d.Selection.Font.Superscri
'd.selection.Font.Bold = True
d.Selection.typetext Nz(rs_source_qry!Country)
'd.selection.Font.Bold = False
d.Selection.Font.Superscri
d.Selection.typeparagraph
rs_source_qry.MoveNext
Loop
wrdApp.Visible = True
d.SaveAs "c:\temp\naics_manual.doc"
rs_source_qry.Close
'wrdApp.Documents.Close "c:\temp\naics_manual.doc"
Set rs_source_qry = Nothing
Set wrdApp = Nothing
'strFileSpec = ActiveDocument.FullName
'ActiveDocument.Close
'Kill strFileSpec
End Sub
ASKER
I find this whole binding thing confusing. angelIII's solution appears to work. I appear to have corrupted soemething on implementation, to dissable my font specifications. I'll try to figure this part out on my own.
Thanks all.
Thanks all.
ASKER
Only my superscript font specification is dissabled.