小编Dan*_*nin的帖子

如何在Visio中读取Shape的属性

我有以下任务.我正在Studio 2010中的C#上为Visio 2010编写一个加载项.假设我打开了一个图表.我在这个图中有任何形状的形状(让我们尝试管理一个开头的形状).问题是如何阅读这种形状的任何属性?我应该使用哪种API?

基本算法:

  1. 扫描打开的文档以获取形状
  2. 如果文档中有任何形状,则返回所有形状的数组(或列表)(如果当前文档中没有形状,则返回null)
  3. 运行形状数组并读取每个元素的任何属性(这将很有可能写入/修改属性)

(代码示例将不胜感激)

c# visio shape

7
推荐指数
1
解决办法
1万
查看次数

运行时检查失败#0 - 未正确保存ESP的值

我试图从C++代码编译Excel自动化访问的示例,我得到以下错误:"运行时检查失败#0 - ESP的值未在函数调用中正确保存.这通常是调用a的结果使用一个调用约定声明的函数,其函数指针使用不同的调用约定声明."

我已经在互联网上找到并阅读了大量有关此错误的信息,但仍然无法明确我应该在我的代码中修复哪些内容才能使其正常工作.请查看代码:

#include <windows.h>
#include <oleacc.h>
#import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSO.DLL" no_implementation rename("RGB", "ExclRGB") rename("DocumentProperties", "ExclDocumentProperties") rename("SearchPath", "ExclSearchPath")
#import "C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA6\VBE6EXT.OLB" no_implementation
#import "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" rename("DialogBox", "ExclDialogBox") rename("RGB", "ExclRGB") rename("CopyFile", "ExclCopyFile") rename("ReplaceText", "ExclReplaceText")

BOOL EnumChildProc(HWND hwnd, LPARAM)
{
   WCHAR szClassName[64];
   if(GetClassNameW(hwnd, szClassName, 64))
   {
      if(_wcsicmp(szClassName, L"EXCEL7") == 0)
      {
         //Get AccessibleObject
         Excel::Window* pWindow = NULL;
         HRESULT hr = AccessibleObjectFromWindow(hwnd, OBJID_NATIVEOM, __uuidof(Excel::Window), (void**)&pWindow);
         if(hr == S_OK)
         {
            //Excel object is now in pWindow …
Run Code Online (Sandbox Code Playgroud)

c++ excel automation runtime-error runtime

1
推荐指数
1
解决办法
2670
查看次数

来自C++的Excel 2010自动化

有些人可以分享一个C++代码的工作示例,它执行以下操作:

  1. 连接到运行Excel(如果有),否则抛出异常,
  2. 连接到当前工作表,否则抛出异常,
  3. 从连接的工作表中读取至少一个单元格(如果有).

我希望有人之前做过类似的事情,并且愿意分享代码.我有严格的指示只使用C++,而Excel应该是2003/2007/2010.至于我在主机上的2010年,我将欣赏2010年的例子.

c++ excel automation cell

0
推荐指数
1
解决办法
4884
查看次数

标签 统计

automation ×2

c++ ×2

excel ×2

c# ×1

cell ×1

runtime ×1

runtime-error ×1

shape ×1

visio ×1