关于vba的一些问题不太明白,希望高人帮忙解决 ,分不够可以加

ttt2 2004-06-10 09:33:55
1.如何得到word文档中某一页的内容

2.如何通过程序来显示word的菜单,当通过visiable=false属性后,下次启动word时菜单也不显示,能不能让他不进行保存

3.我可以用vb的语句wd.Selection.InlineShapes(1).Top = 0#来控制word中第一副图片,当我转为delphi时确不行,哪位有相关的经验

4.我们可以向word中写入一些隐藏的信息确,用户通过word正常的操作是看不到的, 这些信息保存在doc文件中

谢谢
...全文
274 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttt2 2004-06-11
  • 打赏
  • 举报
回复
用delphi如何把word做在ocx当中
techgopher 2004-06-11
  • 打赏
  • 举报
回复
以下均假设wd是一个Word.Application对象
1.
这个vba函数可以返回指定页码的Range对象:
Function GetPageRange(iPage as Integer) as Range
Set GetPageRange = wd.ActiveDocument.Range(0,0)
Set GetPageRange = GetPageRange.Goto(What:=wdGotoPage, Name:=iPage)
Set GetPageRange = GetPageRange.Goto(What:=wdGotoBookmark, Name:="\Page")
End Function
2.
可以把CustomizationContext设成当前文档再来改变菜单的显示。这样的话改变的结果不会影响到其他文档。
wd.CustomizationContext = wd.ActiveDocument

3.
没用过deiphi。不过你所谓vb可以是不可能的。问题在于嵌入式图片(InlineShapes)将随所在文本移动而移动,无法随意设置位置, 也就是说它们根本没有top这一属性。要想随意控制图片位置, 你应该使用的是Shapes(浮动式图片)。

4.
办法一:使用自定义文档属性
添加自定义属性到document对象的CustomDocumentProperties集合中。例如:
wd.ActiveDocument.CustomDocumentProperties.Add
Name:="YourName", LinkToContent:=False, Value:="ttt2", _
Type:=msoPropertyTypeString
不过,用户可以看到这些文档属性(菜单:文件-〉属性 -〉自定义)
办法二:使用文件变量
添加变量到document对象的Variables集合中。例如:
wd.ActiveDocument.Variables.Add "YourName", "ttt2"
用户在使用界面上将看不到这些变量, 但是仍然可以通过VBA存取。
办法三:使用windows registry. 详情见Word帮助中关于system对象PrivateProfileString的说明。
ttt2 2004-06-10
  • 打赏
  • 举报
回复
我用delphi来控制word找不到关闭事件,有别的方法来使现吗?
OFFICE之门 2004-06-10
  • 打赏
  • 举报
回复

2.如何通过程序来显示word的菜单,当通过visiable=false属性后,下次启动word时菜单也不显示,能不能让他不进行保存


Private Sub Workbook_BeforeClose(Cancel As Boolean)
visiable = True
End Sub

Private Sub Workbook_Open()
visiable = False
End Sub

5,173

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧