R
ravi kumar
I have created a macro in MS.Word. The following macro
will open the text file and reformat the page layout font
size, and whetere there is a * it will be replaced with a
manual page break. And finally the document will be
saved as word document.
Sub N9FB0550_REPORT()
'
' N9FB0550_REPORT Macro
' Macro recorded 2004-08-17 by AnapanaR
'
ChangeFileOpenDirectory "D:\"
Documents.Open FileName:="N9FB0550_REPORT.TXT",
ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False,
PasswordDocument:="", _
PasswordTemplate:="", Revert:=False,
WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto
Selection.WholeStory
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientLandscape
.TopMargin = InchesToPoints(0.92)
.BottomMargin = InchesToPoints(0.92)
.LeftMargin = InchesToPoints(1)
.RightMargin = InchesToPoints(1)
.Gutter = InchesToPoints(0)
.HeaderDistance = InchesToPoints(0.5)
.FooterDistance = InchesToPoints(0.5)
.PageWidth = InchesToPoints(11)
.PageHeight = InchesToPoints(8.5)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.GutterPos = wdGutterPosLeft
End With
Selection.Font.Size = 8
Selection.Font.Size = 7.5
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = "^m"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or
ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
Selection.TypeText Text:="Caterpillar Asia Pte Ltd" &
vbTab & vbTab & _
"Confidential: Green"
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Size = 8
Selection.MoveDown Unit:=wdLine, Count:=1
NormalTemplate.AutoTextEntries("Filename and
path").Insert Where:= _
Selection.Range
Selection.TypeText Text:=vbTab & vbTab
NormalTemplate.AutoTextEntries("Page X of Y").Insert
Where:=Selection. _
Range
Selection.MoveLeft Unit:=wdWord, Count:=7
Selection.MoveRight Unit:=wdCharacter, Count:=16,
Extend:=wdExtend
Selection.Font.Size = 10
ActiveWindow.ActivePane.View.SeekView =
wdSeekMainDocument
ActiveDocument.SaveAs
FileName:="D:\N9FB0550_REPORT.doc", FileFormat:= _
wdFormatDocument, LockComments:=False,
Password:="", AddToRecentFiles:= _
True, WritePassword:="",
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False,
SaveFormsData:=False, _
SaveAsAOCELetter:=False
ActiveDocument.Close
End Sub
Also in my ms-access application I am running this module
to call the macro.
Private Sub Convert_N9FB1050_Report()
Dim WD As Object
Set WD = CreateObject("Word.Application")
WD.Documents.Open "D:\N9FB1050_REPORT.TXT"
'WD.Run "MACRO2"
WD.Run "N9FB1050_REPORT"
End Sub
Since I have N number of reports in my I wanted to use one
common macro to convert all the text files to word
files.
Appreciate your help.
With Best Regards
Ravi Kumar
will open the text file and reformat the page layout font
size, and whetere there is a * it will be replaced with a
manual page break. And finally the document will be
saved as word document.
Sub N9FB0550_REPORT()
'
' N9FB0550_REPORT Macro
' Macro recorded 2004-08-17 by AnapanaR
'
ChangeFileOpenDirectory "D:\"
Documents.Open FileName:="N9FB0550_REPORT.TXT",
ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False,
PasswordDocument:="", _
PasswordTemplate:="", Revert:=False,
WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto
Selection.WholeStory
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientLandscape
.TopMargin = InchesToPoints(0.92)
.BottomMargin = InchesToPoints(0.92)
.LeftMargin = InchesToPoints(1)
.RightMargin = InchesToPoints(1)
.Gutter = InchesToPoints(0)
.HeaderDistance = InchesToPoints(0.5)
.FooterDistance = InchesToPoints(0.5)
.PageWidth = InchesToPoints(11)
.PageHeight = InchesToPoints(8.5)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.GutterPos = wdGutterPosLeft
End With
Selection.Font.Size = 8
Selection.Font.Size = 7.5
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = "^m"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or
ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
Selection.TypeText Text:="Caterpillar Asia Pte Ltd" &
vbTab & vbTab & _
"Confidential: Green"
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Size = 8
Selection.MoveDown Unit:=wdLine, Count:=1
NormalTemplate.AutoTextEntries("Filename and
path").Insert Where:= _
Selection.Range
Selection.TypeText Text:=vbTab & vbTab
NormalTemplate.AutoTextEntries("Page X of Y").Insert
Where:=Selection. _
Range
Selection.MoveLeft Unit:=wdWord, Count:=7
Selection.MoveRight Unit:=wdCharacter, Count:=16,
Extend:=wdExtend
Selection.Font.Size = 10
ActiveWindow.ActivePane.View.SeekView =
wdSeekMainDocument
ActiveDocument.SaveAs
FileName:="D:\N9FB0550_REPORT.doc", FileFormat:= _
wdFormatDocument, LockComments:=False,
Password:="", AddToRecentFiles:= _
True, WritePassword:="",
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False,
SaveFormsData:=False, _
SaveAsAOCELetter:=False
ActiveDocument.Close
End Sub
Also in my ms-access application I am running this module
to call the macro.
Private Sub Convert_N9FB1050_Report()
Dim WD As Object
Set WD = CreateObject("Word.Application")
WD.Documents.Open "D:\N9FB1050_REPORT.TXT"
'WD.Run "MACRO2"
WD.Run "N9FB1050_REPORT"
End Sub
Since I have N number of reports in my I wanted to use one
common macro to convert all the text files to word
files.
Appreciate your help.
With Best Regards
Ravi Kumar