首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要Word VBA代码才能将光标移动到双栏页面布局中第一列的末尾

问需要Word VBA代码才能将光标移动到双栏页面布局中第一列的末尾
EN

Stack Overflow用户
提问于 2019-10-11 07:50:58
回答 1查看 582关注 0票数 0

我有一个Word VB宏,可以自动在两栏布局中插入Visio绘图。代码运行得很好,但我想进一步自动化这个过程。为此,我专门寻找将光标移动到所选页面第一列末尾的代码。此列通常还没有分栏符,因此我的解决方案不能涉及搜索分栏符。我相信我已经有了选择当前页面的代码,只是没有选择该页面第一列的末尾。

我能够通过编程将光标移动到页面的末尾,并且能够通过编程将光标移动到页面的顶部。我就是不能让光标移动到第一列文本的末尾。到目前为止,我发现的所有在线示例都集中在移动到表中列的末尾,而不是移动到两列布局中的文本列的末尾。

2019年10月15日:根据@cindym的请求,这里有一个示例页面

SamplePage

文档可能有几页长。我当前的宏运行良好,符合公司对这类文档的要求,但它要求用户将光标放在他们想要插入两列图形的位置。我想让这个过程更加自动化(在现有的用户表单中选中"top“或"bottom”,并让宏将两列图形相应地放在当前页面上)。

同样,我可以通过编程将光标移动到页面的顶部或底部,只是不能将光标移动到第一列的末尾(两列页面上的左侧列)。我们的代码插入连续的分隔符,如果它可以在左手边的文本列的末尾插入第一个分隔符,它就可以很好地工作。

部分基于CindyM的建议,我在当前页面的底部尝试了以下两列Visio图表,但在第三行代码后出现错误。除了这个最初由VBA驱动的光标放置问题之外,我的其余代码都工作得很好(选择Visio、插入连续的换行符、插入插图的标题等)。希望这有助于澄清。再次感谢!

代码语言:javascript
复制
    `ActiveDocument.Bookmarks("\Page") `Select selects current page` 
    Selection.GoToNext (wdGoToPage)  `cursor at top of page 2`
    Selection.MoveEnd wdCharacter, -1 `cursor now at end of target page`
    Selection.MoveRight Unit:=wdItem  `cursor now in headline, top of page :(`  
    Selection.MoveRight Unit:=wdItem


  [1]: https://i.stack.imgur.com/OR7BF.png
EN

回答 1

Stack Overflow用户

发布于 2019-10-12 02:30:55

由于问题中没有包含任何代码作为起点,下面将使用GoTo移动到特定页面。假设这个职位不是报纸专栏。然后,执行相当于在UI中按两次Alt+Down箭头移动到下一列(报纸栏)的操作,这将是第一列之后的下一列的开始。然后将所选内容向后移动一个字符,将其放在列的末尾。

如果页面的顶部是报纸栏目,并且代码应该移到该栏目的末尾,则删除其中一个Selection.MoveRight Unit:=wdItem行。

代码语言:javascript
复制
Sub MoveToEndOfNextNewspaperColumn()
    Dim goToPageNr As String

    goToPageNr = "1"

    Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=goToPageNr

    Selection.MoveRight Unit:=wdItem
    Selection.MoveRight Unit:=wdItem

    Selection.MoveEnd Unit:=wdCharacter, Count:=-1
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58332486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档