标题:visio 绘图软件实现批量打印文档和替换几个文本内容,求高手编制个宏,万分 ...
只看楼主
chen0263
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-3-14
结帖率:0
已结贴  问题点数:20 回复次数:6 
visio 绘图软件实现批量打印文档和替换几个文本内容,求高手编制个宏,万分感谢!
visio 绘图软件实现批量打印文档和替换几个文本内容,求高手编制个宏,万分感谢!
搜索更多相关主题的帖子: 文档 替换 文本 内容  
2017-07-28 18:57
wlrjgzs
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:212
专家分:1566
注 册:2017-4-10
得分:10 
万分感谢是什么感谢?
2017-07-28 20:19
xyxcc177
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:197
专家分:1249
注 册:2017-7-8
得分:10 
把图放到word中套打
2017-07-28 20:39
xyxcc177
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:197
专家分:1249
注 册: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
等 级:新手上路
帖 子:11
专家分: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
chen0263
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-3-14
得分:0 
回复 4楼 xyxcc177
现有visio绘图方面的问题
我现在有用VISIO内的宏批量处理很多的VISIO文件,并读取相关的电子表格内的数据;
由于有人画图会在页面打印范周图外面保留有些无用图形,用来参考的,外面的会被首先读取到,影响程序读取数据的正确性,图框内的图形、文字和表格才是需要的正确数据;
各个文件存放表格的页面比例是固定的,其他页面的比例会有不同;
现在想用程序语句删除这些页面外的对象或者读取指定范围的对象,没有找到这个方法。
想请教可有方法?也可以用其他语言编程处理这个问题。可以给些钱作为报酬!
有兴趣请联系QQ1104859173,如要验证17722000263
2017-12-12 10:28
suzhanpeng
Rank: 4
等 级:业余侠客
威 望:7
帖 子:72
专家分:248
注 册:2016-9-28
得分:0 
万分感谢=10000分=1000角=100元的感谢,这都理解不了吗?
2017-12-12 14:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479680-1-1.html




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

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