ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

请问如何使EXCEL中的数据传递到书签中?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-6-9 17:02 | 显示全部楼层 |阅读模式

我在word中的某些位置设置了一些书签,

在excel中我想用VBA的办法使表格中指定的数据传递到word中的相关书签中。请问该如何写代码?

      Dim ws As Worksheet
      Dim wd As New Word.Application  
      wd.Selection.GoTo wdGoToBookmark, , , "查获日期"
      wd.Selection.TypeText ws.Cells(2, 11)

为什么以上代码只能引用一次书签?
我在word好几处地方设置了“查获日期”这个书签,但只是最后一处的“查获日期”书签才引用了ws.cells(2,11)的值,其他几处都是空白。

8TVeJrOe.rar (23.79 KB, 下载次数: 30)
[此贴子已经被作者于2007-6-10 14:36:14编辑过]

TA的精华主题

TA的得分主题

发表于 2007-6-10 06:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用thumbring在2007-6-9 17:02:22的发言:

我在word中的某些位置设置了一些书签,

在excel中我想用VBA的办法使表格中指定的数据传递到word中的相关书签中。请问该如何写代码?

      Dim ws As Worksheet
      Dim wd As New Word.Application  
      wd.Selection.GoTo wdGoToBookmark, , , "邮政编码"
      wd.Selection.TypeText ws.Cells(2, 2)

为什么以上代码只能引用一次书签?
我在word好几处地方设置了“邮政编码”这个书签,但只是最后一处的“邮政编码”书签才引用了ws.cells(2,2)的值,其他几处都是空白。

这个代码感觉有问题啊。

wd 是Word.Application,wd.Document呢?

建议直接上传您的Excel和你设置有书签文档上来。

另外,同一文档中只能有一个相同书签名,如果其他地方需要引用这个书签值,请使用REF域。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-10 08:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-6-10 12:06 | 显示全部楼层
QUOTE:
以下是引用thumbring在2007-6-10 8:52:14的发言:
我已经将附件上传了,请版主指点。

以下代码供参考:

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-6-10 12:00:20
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
0227^The Code CopyIn [Excel]^'
'*
-----------------------------

Option Explicit

Sub
按钮30_单击
()
    Dim ws As Worksheet
    Dim i As Long
    Dim myRange As Range, C As Range
    Dim wd As New Word.Application, wdDoc As Word.Document
    Set ws = ThisWorkbook.Worksheets("
案件表
")
    Set myRange = ws.[A65536].End(xlUp)
    Set myRange = ws.Range(ws.[A2], myRange)
    For Each C In myRange
        Set wdDoc = wd.Documents.Add(ThisWorkbook.Path + "\
行政管理局
.doc", False)
        With wdDoc.Bookmarks
            .Item("
负责人
").Range.Text = C.Offset(, 1).Value
            .Item("
性别
").Range.Text = C.Offset(, 3).Value
            .Item("
住址
").Range.Text = C.Offset(, 4).Value
            .Item("
电话
").Range.Text = C.Offset(, 6).Value
            .Item("
邮政编码
").Range.Text = C.Offset(, 7).Value
            .Item("
案发地
").Range.Text = C.Offset(, 8).Value
            .Item("
项目
").Range.Text = C.Offset(, 9).Value
            .Item("
查获日期
").Range.Text = C.Offset(, 10).Value
        End With
        wdDoc.SaveAs ThisWorkbook.Path & "\abc\" & C.Row & ".doc"
        wdDoc.Close
    Next
   
wd.Quit
End Sub
'----------------------



TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-10 14:35 | 显示全部楼层

谢谢版主的指点。
可是excel中的值只能传递一次给书签的。

如例子中的word有两处地方用到了“查获日期”这个书签,但是值只传递给了第一个书签。第二个书签我用了{REF 查获日期}似乎也没有用。不知道为何?

TA的精华主题

TA的得分主题

发表于 2007-6-10 15:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用thumbring在2007-6-10 14:35:14的发言:

谢谢版主的指点。
可是excel中的值只能传递一次给书签的。

如例子中的word有两处地方用到了“查获日期”这个书签,但是值只传递给了第一个书签。第二个书签我用了{REF 查获日期}似乎也没有用。不知道为何?

更新域了没有?全选后按下F9试一下。如果行,再在代码中加上。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-10 17:39 | 显示全部楼层

不行,烦请版主再指点。

我将生成的文件和原始文件都上传。

bqa0Wtgj.rar (29.7 KB, 下载次数: 29)

TA的精华主题

TA的得分主题

发表于 2007-6-11 06:31 | 显示全部楼层
QUOTE:
以下是引用thumbring在2007-6-10 17:39:26的发言:

不行,烦请版主再指点。

我将生成的文件和原始文件都上传。

lIdfDaeh.rar (37.16 KB, 下载次数: 63)

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-11 06:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感谢版主百忙之中的指点,谢谢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-6-12 13:21 | 显示全部楼层

版主,还有几个问题无法解决。

1、书签设置条件的问题。例子中“性别”的书签,有两个值(M或F)可选,选M时在word中显示“男”,选F时在word中显示“女”。但是,我按照http://club.excelhome.net/viewthread.php?tid=245270&px=0的两种办法都不行:插入“性别”书签在word中显示的依旧是“M”,而非期望的“男”。

2、用书签实现我的目标似乎并不合适。版主所说的“quote空域”不知道如何操作。我找了网上的资料,几乎没有,加之本人愚钝,望版主指点。

谢谢。

  

EiFsbn4A.rar (19.44 KB, 下载次数: 31)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-16 13:55 , Processed in 0.028970 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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