从Excel VBA(redux)中删除Word中的水印Word与;自学资料
[最近还有一个标题类似的问题尚未得到令人满意的回答,也没有给我任何见解:-(] 这是我第一次尝试将Word automation与Excel VBA集成,因此我从Word VBA中的宏记录开始寻找线索。不幸的是,当我尝试将其转换为Excel时,即使考虑到必须使用Excel localwrdDoc来限定引用,Word VBA中的代码也无法实现来自Excel VBA的rk。非常令人沮丧 以下是我开始使用的Word中记录的代码片段: [录制后手动编辑形状名称,以匹配水印图像的指定名称] 下面是Excel中的代码片段,我从中派生: [预定义的sWatermark字符串以匹配图片名称] 结果:每次尝试选择水印时(With块中的第3行),VBA都会阻塞 我已经尝试了带或不带.prefix的问题行[即wrdDoc.Selection和just Selection(如原始单词macro)] 在验证该范围内只有1项后,我尝试以.HeaderFooter.shapes(1)的形式访问水印。同样,在Word VBA中,这似乎非常令人满意,但在Excel VBA中却从未如此从Excel VBA(redux)中删除Word中的水印Word与;自学资料,excel,ms-word,watermark,vba,Excel,Ms Word,Watermark,Vba,[最近还有一个标题类似的问题尚未得到令人满意的回答,也没有给我任何见解:-(] 这是我第一次尝试将Word automation与Excel VBA集成,因此我从Word VBA中的宏记录开始寻找线索。不幸的是,当我尝试将其转换为Excel时,即使考虑到必须使用Excel localwrdDoc来限定引用,Word VBA中的代码也无法实现来自Excel VBA的rk。非常令人沮丧 以下是我开始使用的Word中记录的代码片段: [录制后手动编辑形状名称,以匹配水印图像的指定名称] 下面是Exce
为什么?!尽可能避免使用该选项,因为它在宏执行期间可能会更改。例如:
wrdDoc.StoryRanges(wdPrimaryHeaderStory).ShapeRange(1).Delete
.Selection
应该是.Application.Selection
我知道一般情况下应该尽量避免选择,尽管我过去发现VBA可能对此非常不宽容。例如,即使在这里,我也试图省去.Sections(1).Range.select并融合了前两行,但也失败得很惨。此外,您的警告似乎并没有回答这个问题,即为什么VBA代码在Word中工作,而等效代码在Excel中不工作。@AlisterSelection
指的是Application.Selection
,但在wrdDoc.Sel的第二个代码中节
中没有文档。选择
属性如果您可以将Microsoft Word和Dim wrdDoc的引用添加为Word.Document
,则在wrdDoc.Selection
行上应该会出现编译错误
With wrdDoc
.Sections(1).Range.Select
.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
.Selection.HeaderFooter.Shapes(sWatermark).Select
.Selection.Delete
End With
wrdDoc.StoryRanges(wdPrimaryHeaderStory).ShapeRange(1).Delete