このコードは機能していません - ページサイズは変わりません:
canvas.Window.Application.ActivePage.PageSheet.get_CellsU("DrawingResizeType").FormulaU = "1";
キャンバスは
AxMicrosoft.Office.Interop.VisOcx.AxDrawingControl canvas;
誰が何が間違っていて、どのように修正できるかを教えてもらえますか?
画像 VSD1 は元の図を示しています。値を 1 に変更すると、VSD2 のようになります。
アップデート
わかりました、マクロ レコーダーを使用したところ、これが VB コードであることがわかりました
【VBコード】
ActiveDocument.DiagramServicesEnabled = visServiceVersion140
Application.ActiveWindow.Page.AutoSize = True
Application.ActiveWindow.Page.AutoSizeDrawing
C#でも同じことを試しましたが、COM例外がスローされます
【C#コード】
canvas.Window.Application.ActiveDocument.DiagramServicesEnabled = (int)Visio.VisDiagramServices.visServiceVersion140;
Visio.Page p = (Visio.Page)canvas.Window.Application.ActiveWindow.Page;
p.AutoSize = true;
p.AutoSizeDrawing(); //throws COM exception 0x86DB0C89
例外の詳細 System.Runtime.InteropServices.COMException (0x86DB0C89):
例外が発生しました。System.Windows.Forms.Control.OnClick(EventArgs e) の C:\Form1.cs:line 121 の VisioDemo.Form1.btnReConnect_Click(Object sender, EventArgs ea) の Microsoft.Office.Interop.Visio.IVPage.AutoSizeDrawing() で) System.Windows.Forms.Button.OnClick(EventArgs e) で System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) で System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons ボタン, Int32 クリック) でSystem.Windows.Forms.Control.WndProc(Message& m) で System.Windows.Forms.ButtonBase.WndProc(Message& m) で System.Windows.Forms.Button.WndProc(Message& m) で System.Windows.Forms.Control. ControlNativeWindow.OnMessage(Message& m) で System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) で System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,
************** 読み込まれたアセンブリ ************** mscorlib アセンブリ バージョン: 2.0.0.0 Win32 バージョン: 2.0.50727.5472 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
VisioDemo アセンブリ バージョン: 1.0.0.0 Win32 バージョン: 1.0.0.0
コードベース: file:///C:/bin/x86/Debug/VisioDemo.exe
Microsoft.Office.Interop.VisOcx アセンブリ バージョン: 14.0.0.0 Win32 バージョン: 14.0.4756.1000 CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.Office.Interop.VisOcx/14.0.0.0__71e9bce111e9429c/Microsoft. Office.Interop.VisOcx.dll