Author |
Topic |
|
VeryOldMan
5 Posts |
Posted - 04/02/2009 : 07:58:22
|
В отличие от Word & Excel в Visio отсутствуют глобальные переменные типа ActiveDocument.Variables, в которых можно было бы сохранить некоторую информацию, необходимую для программно создаваемого документа Visio. Попытки сохранения этой информации следующим путем не увенчались успехом: ActivePage.PageSheet.AddSection (6) ActivePage.PageSheet.Cells("Scratch.X1").Formula = """123""" Однако если перед выполнением строки: ActivePage.PageSheet.Cells("Scratch.X1").Formula = """123""" вручную выделить и ввести что-либо в секцию Scratch, например, Enter, данная строка кода работает Прошу сообщить, как обойти ручной ввод программно |
|
Tumanov
Russia
1198 Posts |
Posted - 04/02/2009 : 20:08:43
|
Можно после создания секции добавить к ней строку. И работать не с именами, а с индексами. Вот такой код создаст секцию Scratch и введет в первые две ячейки первой строки 12 дюймов и строку "12" соответственно. Sub ttt() ActivePage.PageSheet.AddSection (6) n = ActivePage.PageSheet.AddRow(6, 1, 0) ActivePage.PageSheet.CellsSRC(6, 0, 0) = "12" ActivePage.PageSheet.CellsSRC(6, 0, 1).Formula = """12""" End Sub Можно еще защиту от ошибок накручивать - проверить не существует ли уже такая секция, если существует, то сколько в ней строк и т.д. |
|
|
VeryOldMan
5 Posts |
Posted - 04/03/2009 : 06:59:11
|
Я не сразу понял, что при создании Section, автоматически образованная в ней Row лишь видимость, и лишь вчера выяснил, что при добавлении строки if ActivePage.PageSheet.AddRow(6,1,0)=0 then все прекрасно получается. Но все равно, большое спасибо. |
|
|
|
Topic |
|
|
|