|
我想对指定的word文档批量处理,处理成页边距全是2.5,同时纸张是16K
使用以下代码,出现问题
Sub 批量格式设置()
Dim MyDialog As FileDialog, vrtSelectedItem As Variant, Doc As Document
Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
With MyDialog
.Filters.Clear
.Filters.Add "所有 WORD 文件", "*.doc", 1
.AllowMultiSelect = True
If .Show = -1 Then
Application.ScreenUpdating = False
For Each vrtSelectedItem In .SelectedItems
Set Doc = Documents.Open(FileName:=vrtSelectedItem, Visible:=False)
With Doc
With .PageSetup
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2.5)
.LeftMargin = CentimetersToPoints(2.5)
.RightMargin = CentimetersToPoints(2.5)
.PageWidth = CentimetersToPoints(18.4)
.PageHeight = CentimetersToPoints(26)
End With
.Save
End With
Doc.Close
Next
Application.ScreenUpdating = True
End If
End With
MsgBox "格式化文档操作设置完毕!", vbInformation
End Sub
第一个是,虽然处理后,显示设置完毕,而且word界面看不到那些处理过的文档名,但在vb中,却还是能看到处理过的文档的project,而且,此时打开一个,已经处理过的文档,会发现没有任何显示,关闭的话会提示是否保存,选择保存,再打开,则能看到文档
第二个是,通过上面方法打开的文档,进入页面设置,发现,页边距是正确的,但纸张大小不正确,尺寸没问题,但纸张里显示的却是B5(JIS)
请问以上代码如何修改,解决掉这二个问题?
谢谢高手。
|
|