| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 400 人关注过本帖
标题:visio 绘图软件实现批量打印文档和替换几个文本内容,求高手编制个宏,万分 ...
只看楼主 收藏
chen0263
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-3-14
结帖率:0
  已结贴   问题点数:20  回复次数:4   
visio 绘图软件实现批量打印文档和替换几个文本内容,求高手编制个宏,万分感谢!
visio 绘图软件实现批量打印文档和替换几个文本内容,求高手编制个宏,万分感谢!
2017-07-28 18:57
wlrjgzs
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:94
专家分:564
注 册:2017-4-10
  得分:10 
万分感谢是什么感谢?
2017-07-28 20:19
xyxcc177
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:7
帖 子:53
专家分:135
注 册:2017-7-8
  得分:10 
把图放到word中套打
2017-07-28 20:39
xyxcc177
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:7
帖 子:53
专家分:135
注 册:2017-7-8
  得分:0 
Sub prt()
'先要在工具中引用ADO
'把要换的文本内容保存在excel第1列中,有字段名
Dim con As ADODB.Connection
Set con = New ADODB.Connection
Dim rs As ADODB.Recordset

Set rs = New ADODB.Recordset
Dim str As String
str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\文本.XLSX;Extended Properties=Excel 12.0;Persist Security Info=False"
con.Open str
rs.Open "SELECT * FROM [SHEET1$]", con, adOpenKeyset, adLockOptimistic

'最后一个放入的文本框:vsoCharacters1
Dim i As Integer
i = Application.ActiveWindow.Page.Shapes.Count
    Dim vsoCharacters1 As Visio.Characters
    Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes.ItemFromID(i).Characters
  Do While Not rs.EOF
       With vsoCharacters1
        .Begin = 0
        .Text = rs(0)
      End With
   Application.ActiveDocument.PrintOut PrintRange:=visPrintAll
  rs.MoveNext
 Loop
 rs.Close
 con.Close

End Sub
2017-07-29 09:56
chen0263
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-3-14
  得分:0 
我你把这个放在visio 2013 中建了个宏,
你备注里:把要换的文本内容保存在excel第1列中,有字段名
建立了个D:\文本.XLSX文件
A列
江喜超
冯小建

运行后出现错误:不能创建对象
定位到这一行:
Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes.ItemFromID(i).Characters
有些疑问:
字段名指什么?
要替换成的文本在哪里输入?
可以用窗口定义要替换的文本内容吗?
我想要替换的批量文件在哪里打开?
请联系QQ1104859173指教
或微信号CXZ0263
2017-07-30 09:00







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.125334 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved