我想从excel启动一个新的Visio实例并执行一些代码。这很好,但是执行代码比在visio宏中直接执行代码要花费大约100倍的时间。
Visio 2003
Dim visio_app As New Visio.Application
Dim doc As Visio.Document, pg As Visio.page
Set doc = visio_app.Documents.Open(.......)
Set pg = visio_app.ActivePage
'Performance problem runing this methode
delete.doDeleteDe
当元素被添加到图中时,我试图处理一个事件,但是AddAdvice()抛出了一个未处理的COM异常:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Visio = Microsoft.Office.Interop.Visio;
namespace VisioAddA
我正在尝试创建一个查询,该查询将获得每个设备上一次软件使用时间的结果。
表中有文件名的列和每个设备的启动时间。我遇到的问题是,我只关心每个设备的最新启动时间,但是由于多个记录的启动时间,表将有多个行。是否有一种方法只能根据设备名称获得不同的结果?我可以根据启动时间对它们进行排序,然后使用最新的设备名称对其进行排序,但是我希望删除每台机器的重复行。我看过与row_number() (order by sud.StartTimeLocal) as rn一起使用子subselect的类似帖子,但当我尝试使用它时,它只返回一行。我正在为报表创建这个选项,我更希望找到一种方法,只返回每台机器的最新时间,
我在主窗体中有两个形状。形状有一个上下文菜单项"dummy“,它链接到一个队列标记事件。它使用ShowDialog()打开一个模式表单。当我关闭它时,一些事件没有响应。右键单击不起作用。如果重复尝试,形状选择将起作用。鼠标移动工作正常。
我正在对模式表单执行Dispose()。下面是代码。我正在使用Visio 2019。但最新的visio订阅也会发生这种情况。我有一台x64机器。.net为4+
请帮我弄一下这个。
using Visio = Microsoft.Office.Interop.Visio;
using System.Windows.Forms;
namespace Wi
我正在打开和归档Visio文件。
visio = comclt.Dispatch("Visio.Application")
wsh= comclt.Dispatch("WScript.Shell")
wsh.AppActivate("Microsoft Visio")
for i in os.listdir(path): #loops through the path
if i[-3:]=='vsd': #checks to see if it is a visio file
doc = visio.Do
我试图通过我编写的Excel使Visio中的一个图层可见。但是,我始终是一个无效的参数错误。
这是我的密码:
Sub visio_change_shape(index_value As Variant)
Dim AppVisio As Object
Dim VisioSystems As Object
Set AppVisio = GetObject(, "Visio.Application")
AppVisio.Pages(1).Layers.Item(index_value).CellsC(visLayerVisible).FormulaU = "1"
我使用下面的SQL查询在数据库中进行动态搜索: SELECT [Name],[Vendor]
FROM OrderedApps
Where Name like '%' + 'Microsoft Visio' + '%' OR [Vendor] like '%' + 'Microsoft Visio' + '%' 在数据库中,我有: Name Vendor
Visio Viewer Microsoft
Office Visio Microsoft
Office test Micro
我正在创建一个visio图表,但需要检查现有形状是否已连接。我写了一个方法,有3种不同的方法来确定这一点。我找不到任何shapes方法来直接做到这一点。这是我想出来的。我比第三种方法更可取,因为它不涉及迭代。还有什么建议吗?
private bool ShapesAreConnected(Visio.Shape shape1, Visio.Shape shape2)
{
// in Visio our 2 shapes will each be connected to a connector, not to each other
// so we need
试图找出如何为计算机数据集获取通用配置(产品安装和版本)。
数据的结构如下:
Device Name Product Name Product Version OS
Computer 1 Visio 16.0.11929 Windows 10
Computer 2 Visio 16.0.11929 Windows 10
Computer 3 Visio 16.0.11000 Windows 7
Computer 4 Vi
我们一直试图让Visio使用基于的Visio图。
在Visio Online中构建了一个简单的图表(例如两个连接的形状),并且显示得很好,我们可以获得形状数据。
但是,Visio2016客户端中创建的简单关系图失败并引发错误OSF is not defined。
Error message : "OSF is not defined"
stack : "ReferenceError: OSF is not defined
at https://appsforoffice.microsoft.com/embedded/1.0/visio-web-embedde
有人知道如何在c#中使用visio insertListMember方法(如下所示)吗?
我尝试使用以下命令来执行该方法,但它给出了一个“运行时错误-需要424Object”。我还使用了dropIntoList方法,它工作得很好,但对于特定的目的,我需要使用insertListMember方法。(确定列表的高度)
static void Main(string[] args)
{
//create the object that will do the drawing
visioDrawing.VisioDrawer Drawer = new v
是否有方法计算Visio形状内的文本行数?比如列尼孔特?
我在Visio形状上尝试过Rowcount,但是它没有返回任何反映Visio形状中文本行的内容!下面是我创建的示例代码
Sub something()
Dim intRows
Dim vsoShape As Visio.Shape
Set vsoShape = ActiveWindow.Selection.PrimaryItem
intRows = vsoShape.RowCount(Visio.visSectionProp)
MsgBox intRows
End Sub
我一直在处理一个Word宏,其中包含一个允许用户选择Visio文件并将其插入到活动Word文档中的步骤。由于许多源Visio文件都是多页的,并且要置入Word中的特定Visio绘图可能位于Visio文档的任何页面上,因此我需要一种允许用户选择要置入的页面的方法。
目前,我的VBA代码使用Appplication.FileDialog(msoFileDialogFilePicker)为Visio绘图的文件路径(myVisioPath)设置一个变量,然后为Visio文件创建一个变量并将其插入Word文档中,如下所示:
Dim myViz As InlineShape
Set myViz = Act
我正在为我们企业中的多个站点创建图表,作为实现新技术的努力的一部分。我一直在收集Excel文档中的信息,从这个文档中,我已经能够使用VBA更新各种Word文档和Excel文档,我的电子表格部分的图片以及Visio模板的示例和所需的结束状态可以在下面找到。 在搜索多个网站后,我能够想出以下代码来打开Visio模板,但我似乎无法让它按预期更新值。据我所知,我似乎正在经历各种形状,正如我所提到的,值没有像预期的那样更新。 提前感谢您的帮助和建议。 Sub UpdateVisioTemplate()
Dim vDocs As Visio.Documents 'Documents colle
我正在尝试将一个自定义形状拖放到打开的Visio文档中,并将其链接到我从SQL数据库导入的数据。我已将模具加载到Visio中。目前,我可以在屏幕上放置矩形并链接它们。这是我到目前为止所知道的:
For i = 1 To 6
Dim vsoDataRecordset As Visio.DataRecordset
Dim vsoShape As Visio.Shape
Dim intCount As Integer
intCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecord
我想简化在Visio中更新我的组织结构图。到目前为止,我从这里借用了一个宏,并写出了下面的内容。我想调整它,以作出一些改变的格式,文本与形状,例如,使字体粗体,并有可能改变它的颜色。我发现很难在网上找到这方面的例子,所以任何帮助/建议都会非常感谢。
Public Sub ApplyDataGraphicToDocument()
Dim mstDG As Visio.Master
Dim shp As Visio.Shape
Dim pag As Visio.Page
Dim firstProp As String
If Visio.Active
你好,我想把这个vba方法转换成C#。我正在尝试获取选择的ID并打印出来。特别是,我很难将GetID()方法( visio中内置的方法)转换为C#。
Public Sub getCapabilityRectIDs()
Dim vsoSelection1 As Visio.Selection
Dim selectionIDs() As Long
Set vsoSelection1 = Application.ActiveWindow.Page.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, "C