ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1043|回复: 6

[原创] 纵横转换(宏)——最新更新 2022-8-25

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-8-25 20:01 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
* 纵横转换(宏):将选定区域(页面)的纸张方向进行纵横转换(纵向转横向/横向转纵向)。此宏可单独使用。如果经常进行页面转换,可使用《SelectPage选定页面纵横转换》宏。
* 此小程序以前未认真研究过,只是录制宏的结果。今天认真一研究,发现首页、尾页与中间页有所不同。
* 如果将此代码用于 Word2019 ,请将代码拷贝到空白文档后,全选,剪切,再复制到 VBE 中使用;否则,可能 会有乱码(汉字变乱码)。
  1. Sub Vertical()
  2. '纵横转换
  3.     With Selection
  4.         If .Type = wdSelectionIP Then End
  5.         If .Start <> 0 Then
  6.             ActiveDocument.Range(Start:=.Start, End:=.Start).InsertBreak Type:=wdSectionBreakNextPage
  7.             .Start = .Start + 1
  8.         End If
  9.         If .End <> ActiveDocument.Content.End Then
  10.             ActiveDocument.Range(Start:=.End, End:=.End).InsertBreak Type:=wdSectionBreakNextPage
  11.         End If
  12.         With .PageSetup
  13.             If .Orientation = wdOrientPortrait Then .Orientation = wdOrientLandscape Else .Orientation = wdOrientPortrait
  14.         End With
  15.     End With
  16. End Sub
  17. Sub PageVertical()
  18. '选定页面纵横转换
  19.     Dim p$, q$
  20.     q = ActiveDocument.Content.Information(wdActiveEndPageNumber)
  21.     p = InputBox("本文档共有 " & q & " 页!", "请输入页码!", q)
  22.     If p = "" Then End
  23.     If p > q Then MsgBox "超出页码范围!", 0 + 16: End
  24.     Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=p
  25.     ActiveDocument.Bookmarks("\Page").Range.Select
  26.     If p = q Then Selection.MoveEnd
  27.     Vertical
  28. End Sub
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-8-25 22:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
报告楼主:Word2016也行。衷心感谢楼主的无私奉献!

TA的精华主题

TA的得分主题

发表于 2022-8-27 18:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我原来常出现复制代码后,粘贴到VBE窗口中,中文变乱码。后来发现在复制代码前将电脑的输入法切换成中文就可以了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-8-28 10:06 | 显示全部楼层
本帖最后由 413191246se 于 2022-8-28 12:18 编辑

谢谢 沈老师!从网页上复制这个代码到 Word 2019 中后,有时乱码,有时正常。你说的情况刚才我试了试,未应验。

TA的精华主题

TA的得分主题

发表于 2024-3-18 08:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-4-24 03:32 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 01:14 , Processed in 0.051280 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表