![]() |
|
#1
|
|||
|
|||
|
Hi All,
I have several utility applications that I run on Word documents using Excel VBA. I use Excel to track the documents. I wanted to write some code that would programmatically redo the footer in a Word document, with the company name at the left margin, the page number centered, and "confidential information" on the right margin. I originally wrote this in Word VBA, and everything worked fine with some tweaking from a friend. However, when I adjusted the code to run from Excel, I am unable to create tabs in the footer. When finished, the footer should look like the attached image. Most of the code works as expected. I just can seem to set the tabs with Excel VBA. The code is below. For sake of illustration, I am only working on the primary footer. Thanks in advance for any assistance. Roy Code:
Sub createFooter()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim rng As Word.Range
With Application.FileDialog(msoFileDialogOpen)
.Filters.Clear
.Filters.Add "Word Files", "*.doc*", 1
If .Show = -1 Then
strFile = .SelectedItems(1)
End If
End With
If strFile = "" Then
Exit Sub
End If
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
End If
Set wdDoc = wdApp.Documents.Open(fileName:=strFile, AddToRecentFiles:=False, Visible:=True)
For k = 1 To wdDoc.Sections.Count
wdDoc.Sections(k).Footers(wdHeaderFooterPrimary).Range.Delete 'delete everything in current footer
wdDoc.Sections(k).Footers(wdHeaderFooterPrimary).LinkToPrevious = False
Set rng = wdDoc.Sections(k).Footers(wdHeaderFooterPrimary).Range
rng.ParagraphFormat.TabStops.ClearAll
rng.ParagraphFormat.TabStops.Add Position:=InchesToPoints(3.25), Alignment:=wdAlignTabCenter, Leader:=wdTabLeaderSpaces
rng.ParagraphFormat.TabStops.Add Position:=InchesToPoints(6.5), Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
rng.Font.Name = "Times New Roman"
rng.Font.Size = 12
rng.Text = "Company" & vbTab
rng.Collapse wdCollapseEnd
rng.Fields.Add rng, wdFieldPage, , False
wdDoc.Sections(k).Footers(wdHeaderFooterPrimary).Range.InsertAfter vbTab & "Confidential Information"
Next
Set wdDoc = Nothing
Set wdApp = Nothing
MsgBox "Footer added or replaced"
End Sub
|
| Tags |
| excel 365, word 365 |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Tabs in word like Excel | kdawgtx | Word | 1 | 01-16-2021 08:09 PM |
| Word Document Restricted to using Tabs to move to next place for input | swalsh96 | Word | 2 | 09-20-2016 04:41 AM |
| HELP: Unable to save word document | SteveJ | Word | 0 | 06-28-2013 04:06 AM |
| Unable to select anything in an MS Word Document | PaulT | Word | 0 | 08-08-2011 07:45 PM |
| Creating custom tabs for Word & Excel 2003 on a Windows 7 OS | Skarab | Office | 1 | 07-05-2010 09:23 AM |