首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • VFP TO WORD书签,如何操作? [已结贴,结贴人:mdsorphen]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-20 21:43:48 楼主
    小弟先谢谢大家一直来的帮助,这次又来请教各位高手,关于VFP9.0+SP2操作WORD书签的问题?

    如何把临时表的内容,放到WORD2000/2003的各个书签的位置上显示出来?用于最后打印。

    小弟愚钝,希望能给个有注释的示例?有劳各位了,先谢谢大家。

    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-21 12:56:581楼 得分:30
    Word 用得不熟,不知标签为何物?是否想实现类似文本合并的功能?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-21 12:58:362楼 得分:20
    在WORD中录制宏,看看代码,再修改成VFP的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-21 18:54:173楼 得分:0
    我先谢谢楼上二位的给予及时、热心的回复。

    以下是我用宏录制的代码,应该怎样转换为VFP操作WORD的代码。

    ------------------------------------------------------------
    Sub asdf()
    '
    ' asdf Macro
    ' 宏在 2008-8-21 由 Tong 录制
    '
        Selection.TypeText Text:="start"
       
        Selection.GoTo What:=wdGoToBookmark, Name:="bmtest"
        With ActiveDocument.Bookmarks
            .DefaultSorting = wdSortByName
            .ShowHidden = False
        End With
        Selection.TypeText Text:="bookmark test"
       
        Selection.GoTo What:=wdGoToBookmark, Name:="bminvno"
        With ActiveDocument.Bookmarks
            .DefaultSorting = wdSortByName
            .ShowHidden = False
        End With
        Selection.TypeText Text:="F008120123"
       
        Selection.GoTo What:=wdGoToBookmark, Name:="bmdate"
        With ActiveDocument.Bookmarks
            .DefaultSorting = wdSortByName
            .ShowHidden = False
        End With
        Selection.TypeText Text:="2008.07.30"
       
        Selection.GoTo What:=wdGoToBookmark, Name:="bmcustinfo"
        With ActiveDocument.Bookmarks
            .DefaultSorting = wdSortByName
            .ShowHidden = False
        End With
        Selection.TypeText Text:="CORPNAME LOCATION"

    End Sub
    ---------------------------------------------------------------

    我尝试在“命令”窗口打入
    OleWord=CREATEOBJECT("Word.Application")
    OleWord.documents.open("C:\inv.doc")
    OleWord.visible = .T.

    Oleword.Selection.GoTo("wdGoToBookmark",,,"bmtest")  -> 提示:参数无效

    智能输入显示下面语法,我不知道哪里出问题了。
    Olewrod.selection.goto([What as Variant],[Which as Variant],[Count as Variant],[Name as Variant]) as Range

    现在完全进行不下去了。

    恳请大家给予帮助。谢谢了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-21 20:11:334楼 得分:10
    对 Word 确实不熟,但有一点可以肯定,就是 wdGoToBookmark 这种是 vb 常量,我只能帮你找出上面宏中存在的常量放在下面,其它需要你自己去试了

    *!* -------- WdGoToItem --------
    #define wdGoToBookmark -1
    #define wdGoToSection 0
    #define wdGoToPage 1
    #define wdGoToTable 2
    #define wdGoToLine 3
    #define wdGoToFootnote 4
    #define wdGoToEndnote 5
    #define wdGoToComment 6
    #define wdGoToField 7
    #define wdGoToGraphic 8
    #define wdGoToObject 9
    #define wdGoToEquation 10
    #define wdGoToHeading 11
    #define wdGoToPercent 12
    #define wdGoToSpellingError 13
    #define wdGoToGrammaticalError 14
    #define wdGoToProofreadingError 15

    *!* -------- WdBookmarkSortBy --------
    #define wdSortByName 0
    #define wdSortByLocation 1

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-21 20:57:175楼 得分:0
    谢谢DKFDTF,WWWWA二位大力协助与启发,我修改下面成这样就成功了,太开心了。瞎弄给我瞎出来了。

    Oleword.Selection.GoTo(-1,,,"bmtest")
    Oleword.Selection.TypeText("bookmark test")

    另外,为了方便以后WORD方面的其它应用,我想请教一下,上面WORD的VB常量是在哪里查到的?先谢谢了!


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-21 23:07:526楼 得分:0
    用 vfp 自带的对象浏览器打开你的 Ofiice 安装文件夹下的 msword.olb,点 Constant,经过漫长等待后,所有的常量定义列表就出来了,找到对应名称的项目,拖到命令窗口中就看到了。

    如果经常要用,可以下载这个压缩包,里面有一个名为 oleview.exe 的文件,用它的菜单 File->Open TypeLib 打开 msword.olb 文件,将右边的内容 ctrl+a 后粘贴到记事本中保存为一个 txt 文件,然后用我写的 makehfile.prg 将这个文件转换成一个 .h 文件。

    如果要提取 excel 的常量定义,打开的是 excel.exe,类型库资源包含在其中。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-22 01:13:177楼 得分:20
    OleWord=CREATEOBJECT("Word.Application")
    OleWord.documents.open("G:\我的文档\系统结构与模型.doc")
    OleWord.visible = .T.
    Oleword.Selection.GoTo(-1,0,0,"a2")
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-22 10:09:398楼 得分:0
    常量可以在WORD中进入工具->宏-VB编辑器,在对象浏览器中可以找到。在EXCEL中也是一样
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-22 10:16:519楼 得分:0
    呵呵,自己动手解决更好
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-22 11:01:3010楼 得分:20
    引用 5 楼 mdsorphen 的回复:
    谢谢DKFDTF,WWWWA二位大力协助与启发,我修改下面成这样就成功了,太开心了。瞎弄给我瞎出来了。

    Oleword.Selection.GoTo(-1,,,"bmtest")
    Oleword.Selection.TypeText("bookmark test")

    另外,为了方便以后WORD方面的其它应用,我想请教一下,上面WORD的VB常量是在哪里查到的?先谢谢了!



    在WORD中使用VBA很少,在EXCEL中经常使用,学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-23 15:57:4611楼 得分:0
    感谢各位专家对小弟提点和关心,接下来,我还要做EXCEL的转换。有不明白的地方,还要再麻烦大家,望到时多多关照一下小弟啦。
    好了,结贴去了。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved