Word 2003 macro not work in Word 2007 - WordBasic.FileSaveAs

A

aliao

Hi,

I have a Word 2003 macro to combine a list of rtf files into one new rtf
file and also create TOC. After upgrading to 2007, this macro not work with
error on the following:

ActiveDocument.Styles("TOC 1")
WordBasic.FileSaveAs Name:=path$ + outfile$ + ".rtf", Format:=0

Can someone help me how to make this work? Do I need to create a new style
called "TOC 1" and stored in Word 2007?

Thanks much!!

Here is my macro (called Combined)

Sub combined()
Dim curdoc$
Dim path$
Dim outfile$
Dim fnt$
Dim fns$
Dim findoc$
findoc$ = Space(20)
curdoc$ = Space(255)
path$ = Space(255)
outfile$ = Space(255)
fnt$ = Space(255)
fns$ = Space(255)
Dim orient$
Dim FNs_
Open "C:\Temp\tlist.txt" For Input As 1
While Not EOF(1)
Input #1, curdoc$, path$, outfile$, fnt$, fns$, orient$
FNs_ = WordBasic.Val(fns$)
orient$ = WordBasic.[Ucase$](orient$)
findoc$ = WordBasic.Mid(curdoc$, 1, (InStr(curdoc$, ".") - 1))
WordBasic.FileOpen Name:=path$ + curdoc$
WordBasic.StartOfDocument
WordBasic.EditSelectAll
WordBasic.FilePageSetup RightMargin:="0.7 in", TopMargin:="1.0 in"
WordBasic.FilePageSetup BottomMargin:="0.5 in", LeftMargin:="0.7 in"
If WordBasic.[RTrim$](orient$) = "LANDSCAPE" Then
WordBasic.FilePageSetup Orientation:=1
WordBasic.FilePageSetup PageHeight:="8.5 in", PageWidth:="11 in"
Else
WordBasic.FilePageSetup Orientation:=0
WordBasic.FilePageSetup PageWidth:="11 in", PageHeight:="8.5 in"
End If
If FNs_ = 6 Then WordBasic.FontSize 6
If FNs_ = 7 Then WordBasic.FontSize 7
If FNs_ = 8 Then WordBasic.FontSize 8
If FNs_ = 9 Then WordBasic.FontSize 9
If FNs_ = 10 Then WordBasic.FontSize 10
WordBasic.Font fnt$
'WordBasic.FileSaveAs Name:=path$ + findoc$ + ".rtf", Format:=0
WordBasic.FileClose 1
Wend
Close 1
WordBasic.FileNewDefault
Open "c:\temp\tlist.txt" For Input As 1
While Not EOF(1)
Input #1, curdoc$, path$, outfile$, fnt$, fns$, orient$
WordBasic.InsertFile Name:=path$ + curdoc$, Link:=1
WordBasic.InsertSectionBreak
Wend
Close 1

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1"
Selection.Find.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With

Selection.Fields.Update

Selection.WholeStory

With Selection.Font

.Name = "Courier New"
.Size = 7
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone

End With

With ActiveDocument.Styles("TOC 1")
.AutomaticallyUpdate = True
.BaseStyle = "Normal"
.NextParagraphStyle = "Normal"
End With
With ActiveDocument.Styles("TOC 1").ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 12
.SpaceBeforeAuto = False
.SpaceAfter = 12
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
End With
ActiveDocument.Styles("TOC 1").NoSpaceBetweenParagraphsOfSameStyle = False

WordBasic.FileSaveAs Name:=path$ + outfile$ + ".rtf", Format:=0
'WordBasic.FileCloseAll 1
End Sub
 
K

karl dewey

I suggest you post your question to a Word news group. This fourm is for
Access, a relational database application that is part of Microsoft Office
Professional.
--
KARL DEWEY
Build a little - Test a little


aliao said:
Hi,

I have a Word 2003 macro to combine a list of rtf files into one new rtf
file and also create TOC. After upgrading to 2007, this macro not work with
error on the following:

ActiveDocument.Styles("TOC 1")
WordBasic.FileSaveAs Name:=path$ + outfile$ + ".rtf", Format:=0

Can someone help me how to make this work? Do I need to create a new style
called "TOC 1" and stored in Word 2007?

Thanks much!!

Here is my macro (called Combined)

Sub combined()
Dim curdoc$
Dim path$
Dim outfile$
Dim fnt$
Dim fns$
Dim findoc$
findoc$ = Space(20)
curdoc$ = Space(255)
path$ = Space(255)
outfile$ = Space(255)
fnt$ = Space(255)
fns$ = Space(255)
Dim orient$
Dim FNs_
Open "C:\Temp\tlist.txt" For Input As 1
While Not EOF(1)
Input #1, curdoc$, path$, outfile$, fnt$, fns$, orient$
FNs_ = WordBasic.Val(fns$)
orient$ = WordBasic.[Ucase$](orient$)
findoc$ = WordBasic.Mid(curdoc$, 1, (InStr(curdoc$, ".") - 1))
WordBasic.FileOpen Name:=path$ + curdoc$
WordBasic.StartOfDocument
WordBasic.EditSelectAll
WordBasic.FilePageSetup RightMargin:="0.7 in", TopMargin:="1.0 in"
WordBasic.FilePageSetup BottomMargin:="0.5 in", LeftMargin:="0.7 in"
If WordBasic.[RTrim$](orient$) = "LANDSCAPE" Then
WordBasic.FilePageSetup Orientation:=1
WordBasic.FilePageSetup PageHeight:="8.5 in", PageWidth:="11 in"
Else
WordBasic.FilePageSetup Orientation:=0
WordBasic.FilePageSetup PageWidth:="11 in", PageHeight:="8.5 in"
End If
If FNs_ = 6 Then WordBasic.FontSize 6
If FNs_ = 7 Then WordBasic.FontSize 7
If FNs_ = 8 Then WordBasic.FontSize 8
If FNs_ = 9 Then WordBasic.FontSize 9
If FNs_ = 10 Then WordBasic.FontSize 10
WordBasic.Font fnt$
'WordBasic.FileSaveAs Name:=path$ + findoc$ + ".rtf", Format:=0
WordBasic.FileClose 1
Wend
Close 1
WordBasic.FileNewDefault
Open "c:\temp\tlist.txt" For Input As 1
While Not EOF(1)
Input #1, curdoc$, path$, outfile$, fnt$, fns$, orient$
WordBasic.InsertFile Name:=path$ + curdoc$, Link:=1
WordBasic.InsertSectionBreak
Wend
Close 1

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1"
Selection.Find.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With

Selection.Fields.Update

Selection.WholeStory

With Selection.Font

.Name = "Courier New"
.Size = 7
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone

End With

With ActiveDocument.Styles("TOC 1")
.AutomaticallyUpdate = True
.BaseStyle = "Normal"
.NextParagraphStyle = "Normal"
End With
With ActiveDocument.Styles("TOC 1").ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 12
.SpaceBeforeAuto = False
.SpaceAfter = 12
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
End With
ActiveDocument.Styles("TOC 1").NoSpaceBetweenParagraphsOfSameStyle = False

WordBasic.FileSaveAs Name:=path$ + outfile$ + ".rtf", Format:=0
'WordBasic.FileCloseAll 1
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top