Hello! I guess I thought this would be easier so I must be missing something right in front of my nose (and am pretty nooby, so bear with me).
I have an excel file (think address list, like Name, Address Street, Phone, etc) that I want to move to a two-column MS Word document, landscape format (so it can be folded like a book). I have the code (below), that I thought should do it, but it does not. It does create the Word doc, set the columns to 2, setting line color, etc, but the Landscape code is not working. What am I missing? Note: the VBA Code is in the excel side, not word)
Thanks for any suggestions!
Sub generate_word_doc()
Dim objWord
Dim objDoc
Dim objSelection
Dim i, j As Integer
Dim ws As Worksheet
Dim row_count, col_count As Integer
Set ws = ThisWorkbook.Sheets("Roster")
ws.Activate
row_count = WorksheetFunction.CountA(Range("C1", Range("C1").End(xlDown)))
col_count = WorksheetFunction.CountA(Range("C1", Range("C1").End(xlToRight)))
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
Set objSelection = objWord.Selection
objWord.Visible = True
objWord.Activate
With objDoc
.PageSetup.Orientation = wdOrientLandscape '<---This is not working
.PageSetup.TextColumns.SetCount NumColumns:=2 '<---this DOES work
.PageSetup.LeftMargin = 18
.PageSetup.MirrorMargins = True
End With
'Ignore below this line...still WIP
Set RosterTable = objDoc.Tables.Add(objSelection.Range, row_count, col_count)
With RosterTable
With .Borders
.enable = True
.outsidecolor = RGB(0, 0, 0)
.insidecolor = RGB(0, 0, 0)
End With
.Rows(1).shading.backgroundpatterncolor = RGB(221, 221, 221)
For i = 0 To row_count
For j = 1 To col_count
.cell(i, j).Range.InsertAfter ws.Cells(i + 2, j + 2).Text
Next j
Next i
End With
End Sub