Как изменить значение "DrawingResizeType"

Этот код не работает - размер страницы не меняется:

canvas.Window.Application.ActivePage.PageSheet.get_CellsU("DrawingResizeType").FormulaU = "1";

холст

AxMicrosoft.Office.Interop.VisOcx.AxDrawingControl canvas;

Может кто-нибудь сказать, что не так и как это можно исправить?

Изображение VSD1 показывает исходную диаграмму. После изменения значения на 1 оно должно выглядеть как VSD2.

VSD1VSD2

Обновить

Хорошо, я использовал макро рекордер и обнаружил, что это код 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):

Произошло исключение. в Microsoft.Office.Interop.Visio.IVPage.AutoSizeDrawing() в VisioDemo.Form1.btnReConnect_Click(Отправитель объекта, EventArgs ea) в C:\Form1.cs: строка 121 в System.Windows.Forms.Control.OnClick(EventArgs e) в System.Windows.Forms.Button.OnClick(EventArgs e) в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) в System.Windows.Forms.Control.WmMouseUp(сообщение & m, кнопка MouseButtons, щелчки Int32) в System.Windows.Forms.Control.WndProc(Сообщение & m) в System.Windows.Forms.ButtonBase.WndProc(Сообщение & m) в System.Windows.Forms.Button.WndProc(Сообщение & m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Загруженные сборки ************** Версия сборки mscorlib: 2.0.0.0 Версия Win32: 2.0.50727.5472 (Win7SP1GDR.050727-5400)

CodeBase: файл: /// C: /Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

VisioDemo Assembly Version: 1.0.0.0 Win32 Версия: 1.0.0.0

CodeBase: файл:///C:/bin/x86/Debug/VisioDemo.exe

Версия сборки Microsoft.Office.Interop.VisOcx: 14.0.0.0 Версия Win32: 14.0.4756.1000 База кода: файл:///C:/Windows/assembly/GAC_MSIL/Microsoft.Office.Interop.VisOcx/14.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.VisOcx.dll

1 ответ

Решение

Microsoft признала эту проблему подлинной проблемой Visio и выпустила патч

http://support.microsoft.com/kb/2878227

Другие вопросы по тегам