• VBA: 怎样批量数据从Excel派出到Visio


    上周派到了个case, 是批量从Excel导出数据导Visio每个图形中.

    花了些时间实现了这个功能.

    原理如下:

    1. 打开Excel
    2. 新建/打开表单
    3. 指向所选择的表单
    4. 遍历所在列的所有数据
    5. 打开Visio
    6. 建立/打开Visio页面(Visio是和Excel一样, 需要建立指定页面.)
    7. 指向所选择的Visio页面.
    8. 打开diagram service 服务
    9. 遍历所有数据在新的图形中做文字.

    代码如下:

    Sub Test11()
    
    Dim rowCount As Long
    Dim sourceSheet As Worksheet
    Dim targetWorksheet As Worksheet
    Dim copyTimes As Integer
    Dim vsoPage As Page
    
    Set sourceSheet = Worksheets("Sheet1")
    Dim FName As String
    Dim VsApp As Object
    
    On Error Resume Next
    Set VsApp = GetObject(, "Visio.Application")
       If VsApp Is Nothing Then
           Set VsApp = CreateObject("Visio.Application")
               If VsApp Is Nothing Then
                   MsgBox "Can't connect to Visio"
               Exit Sub
               End If
       End If
    On Error GoTo 0
    
    FName = "D:drawing.vsdm"
    
    VsApp.Documents.Open FName
    VsAppPage = "Page-1"
    VsApp.ActivePage = VsAppPage
    Cancel = True
     
     'Enable diagram services
    Dim DiagramServices As Integer
    DiagramServices = VsApp.ActiveDocument.DiagramServicesEnabled
    VsApp.ActiveDocument.DiagramServicesEnabled = visServiceVersion140 + visServiceVersion150
     
      
       For i = 2 To sourceSheet.UsedRange.Rows.Count
           'MsgBox sourceSheet.Cells(i, 1).Value
            
            
           VsApp.Application.Windows.ItemEx("drawing.vsdm").Activate
           VsApp.ActivePage.Drop VsApp.Application.Documents.Item("BASIC_U.VSSX").Masters.ItemU("Square"), 3.128788, 9.25
           Set vsoCharacters1 = VsApp.ActiveWindow.Selection(1).Characters
           vsoCharacters1.Begin = 0
           vsoCharacters1.End = 0
           vsoCharacters1.text = sourceSheet.Cells(i, 1).Value
    Next sourceSheet.Activate End Sub
  • 相关阅读:
    GridView中获取UserControl Fred
    objectivec字符串类NSString的使用
    IPhone之AVAudioRecorder
    iPhone中用第三方工具(RegexKitLite)实现正则表达
    android实现底部菜单栏
    android 菜单设计
    Objective C内存管理——如何理解autorelease
    在iphone中使用正则表达式 — OgreKit 详解
    iphone开发者证书装多台电脑的方法
    iPhone sdk 4.0 正则表达式
  • 原文地址:https://www.cnblogs.com/TheMiao/p/9657787.html
Copyright © 2020-2023  润新知