我试图在单词中插入一个新页面,即插入分节符。问题是,我想将此页面更改为A3格局并删除我的代码当前不执行的所有标题。如何修改我的代码以实现此目的?
下面是我当前插入新页面的代码,但保留了标题和a4肖像:
If wordDrawingExist Then
Selection.EndKey Unit:=wdStory
Selection.InsertFile FileName:=wFile, link:=False
Set wb = Documents.Open(wFile)
Selection.WholeStory
Selection.Copy
Documents(docLogSkjema).Activate
Selection.EndKey Unit:=wdLine
Selection.InsertBreak Type:=wdPageBreak
Selection.Paste
wb.Close False
End If
wFile
是一个wordfile的完整路径,它基本上是来自freepdfsolutions.com的pdf to word(尝试直接插入pdf但是pdf的质量非常差,数字难以阅读)和{如果wordfile存在或不存在,则{1}}是布尔说法
答案 0 :(得分:1)
好的,首先,你需要一个分节符,而不是一个简单的分页符:
Selection.InsertBreak Type:=wdSectionBreakNextPage
要更改为横向方向:
Selection.PageSetup.Orientation = wdOrientLandscape
确保您在要更改的部分中。请注意,插入分节符后,光标将位于新节中。
要将尺寸更改为A3,您需要手动设置尺寸:
With Selection.PageSetup
.PageWidth = CentimetersToPoints(42)
.PageHeight = CentimetersToPoints(29.7)
End With
删除标题:
selection.Sections(1).Headers(wdHeaderFooterPrimary).Range.Delete
您的选择不包含多个部分,因此从它接触的一个部分开始,您需要第一部分(duh),因此需要部分(1)。
把它们放在一起:
Selection.InsertBreak Type:=wdSectionBreakNextPage
With Selection.PageSetup
.Orientation = wdOrientLandscape
.PageWidth = CentimetersToPoints(42)
.PageHeight = CentimetersToPoints(29.7)
End With
Selection.Sections(1).Headers(wdHeaderFooterPrimary).Range.Delete
此代码将插入新的部分+分页符,将此新部分设置为横向A3,并从中删除标题。
注意:您可能需要在删除之前取消链接标题:
selection.Sections(1).Headers(wdHeaderFooterPrimary).LinkToPrevious=False
希望这会有所帮助。
答案 1 :(得分:0)
以下是其他人也觉得有用的工作代码:
'Add drawing
If wordDrawingExist Then
Set wb = Documents.Open(wFile)
Selection.WholeStory
Selection.Copy
Documents(docLogSkjema).Activate
Selection.EndKey Unit:=wdStory
Selection.InsertBreak Type:=wdSectionBreakNextPage
With Selection.PageSetup
.Orientation = wdOrientLandscape
.PageWidth = CentimetersToPoints(42)
.PageHeight = CentimetersToPoints(29.7)
End With
Selection.Sections(1).Headers(wdHeaderFooterPrimary).LinkToPrevious = False
Selection.Sections(1).Headers(wdHeaderFooterPrimary).Range.Delete
Selection.Sections(1).Footers(wdHeaderFooterPrimary).LinkToPrevious = False
Selection.Sections(1).Footers(wdHeaderFooterPrimary).Range.Delete
Selection.Paste
wb.Close False
End If