All Forums
 Категория Visio
 Форум Вопросы и ответы
 Программное заполнение специальных свойств
Next Page
Author Previous Topic Topic Next Topic

zz 5

Russia
54 Posts

Posted - 05/16/2006 :  15:59:09
Здраствуйте ! Столкнулся с новой напастью. Сейчас реализую такую вещь. Создаю мастер-шейп, в котором определяю специальные настройки. Задача такая: создать макрос, в котором есть поле для ввода текста этого мастер-шейпа, т.е. при запуске макроса, появляется формочка, в которой пользователь вводит текст, потом жмет кнопку по которой на лист диаграммы добавляется мастер-шейп, в который вписывается введенный пользователем текст. Так вот, проблема возникла при выполнении последнего пункта, когда надо программно вписать текст в новый шейп.

Private Sub CommandButton1_Click()
  Application.ActiveWindow.Page.Drop Application.Documents.Item("C:\ancil 2.vss").
Masters.ItemU("Process Object"), 5.905512, 8.745079
  Dim I As Integer
  I = Application.ActivePage.Shapes.Count
  Dim DShape As Visio.Shape
  Set DShape = Application.ActivePage.Shapes.Item(I)
  Dim S As String
  
  DShape.CellsSRC(visSectionProp, 0, visCustPropsLangID).FormulaU = "1033"
  S = edtNAME.Value
  DShape.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = S
End Sub
Так вот, сомнение вызывет последняя строчка. Когда вводишь число, ошибки не возникает. Когда же вводишь текст, при выполнении выскакивает ошибка. Текст "....#NAME?" даже и не представляю, что это значит ? Заранее спасибо !

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !

Edited by - zz 5 on 05/17/2006 15:17:59

mers

Russia
159 Posts

Posted - 05/16/2006 :  18:04:58
Текст в шейп можно вставить более просто:
MyShape.Text = "мой текст".

или вам нужно в CustomProperties?
тогда записываете в поле Prompt, а не в Value.
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 05/16/2006 :  18:32:14
DShape.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = Chr(34) & S & Chr(34)
Go to Top of Page

brace

Russia
358 Posts

Posted - 05/17/2006 :  09:06:25

эта страница шире экрана в два раза
чтобы прочитать надо двигать лист по экрану слева направо...
это неудобно...
тов. модератор поправьте HTML код страницы
или что то еще...
Go to Top of Page

zz 5

Russia
54 Posts

Posted - 05/17/2006 :  10:08:51
quote:
Originally posted by Tumanov

DShape.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = Chr(34) & S & Chr(34)

Спасибо, то, что доктор прописал

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
Go to Top of Page

zz 5

Russia
54 Posts

Posted - 05/17/2006 :  10:13:18
quote:
Originally posted by brace


эта страница шире экрана в два раза
чтобы прочитать надо двигать лист по экрану слева направо...
это неудобно...
тов. модератор поправьте HTML код страницы
или что то еще...


Не, знаю, почему так получилось Видимо из-за прикрепленного кода. Я уже поднимал проблему некорректной работы форума в Опере,
которая выражается в следующем: все время слетает кодировка страниц, приходится каждый раз ее менять на кириллицу;
страницы открывают только со второго-третьего раза; при создании темы все время ругается на превышенный лимит символов в названии темы,
поэтому приходится создавать тему с одним символом, а потом ее уже править. Теперь вот юзаю Експлорер для работы на форуме.
Хотя и у него некоторые из этих проблем присутсвуют Не знаю, может я один такой

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !

Edited by - zz 5 on 05/17/2006 10:14:08
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/17/2006 :  10:57:53  Visit immortal's Homepage
quote:
чтобы прочитать надо двигать лист по экрану слева направо...
это неудобно...

просто некоторым товарищам надо код соответственно писать, код не переносится автоматически, что обусловленно синтаксисом кода
Dim DShape As Visio.Shape - ошибки не будет

Dim DShape As Visio.
Shape -будет ошибка

а форум незнает какого языка код и соответственно не умеет переносить код поэтому необходимо самостоятельно позаботиться о переносе, вот так для васика:

Dim DShape As Visio. _
Shape


в данном случае отредактируйте сообщение следующим образом:

Private Sub CommandButton1_Click()
  Application.ActiveWindow.Page.Drop Application.Documents.Item _
("C:\Documents and Settings\Administrator\My Documents\ _
#204;#238;#232; #238;#225;#250;#229;#234;#242;#251;\ _
Prinko Stancil 2.vss").Masters.ItemU("Process Object"), 5.905512, 8.745079
  Dim I As Integer
  I = Application.ActivePage.Shapes.Count
  Dim DShape As Visio.Shape
  Set DShape = Application.ActivePage.Shapes.Item(I)
  Dim S As String
  
  DShape.CellsSRC(visSectionProp, 0, visCustPropsLangID).FormulaU = "1033"
  S = edtNAME.Value
  DShape.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = S
End Sub




визио 2003 форэвер

...а вобще-то я белый и пушистый.

Edited by - immortal on 05/17/2006 11:01:08
Go to Top of Page

brace

Russia
358 Posts

Posted - 05/17/2006 :  11:35:14

quote:
просто некоторым товарищам надо код соответственно писать, код не переносится автоматически

я не веб мастер но знаю что можно программно обеспечить автоматич переренос
независимо от автора текста.
так делает программа ВОРД и даже БЛОКНОТ.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/17/2006 :  11:50:03  Visit immortal's Homepage

quote:
я не веб мастер но знаю что можно программно обеспечить автоматич переренос
независимо от автора текста.
так делает программа ВОРД и даже БЛОКНОТ.

ещё раз прочитайте внимательно, или ещё раз повторю, программа не умеет переносить код правильно, не ТЕКСТ а КОД

вставте в васик этот код

msgbox ("учимся
читать")

и выполните его, что? ошибка, вот именно потому-что я неверно перенёс код, надо было перенести
msgbox ("учимся _
читать")

программа этого делать не умеет по понятным причинам, это в васике так переносится, а в другом языке подругому, вот и всё.

предпологается ведь не только копирование текста, но и возможно списание с экрана и распечатка, дак чтобы при переносе код не искажался так и сделано

есть такая кнопка, редактировать сообщение...

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

brace

Russia
358 Posts

Posted - 05/17/2006 :  14:14:48
о разных вещах говорим
браузеру до лампочки на каком языке текст написан
он не различает ТЕКСТ это или КОД
если вебмастер заложил макс. длину строки 80 симв.
так браузер и покажет а все что больше будет переносится
как в БЛОКНОТЕ.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/17/2006 :  15:06:00  Visit immortal's Homepage
ля причём тут вещи, я вам расказываю зачем у кода сделано "не переносить по словам" а вы мне про блокнот, если человек ставит форматирование "не переносить по словам" то он наверно сознательно это делает, а не в коме.
если вы используете форматирование КОД, то это означает что ваш текст который между тегами [ c o d e ] [ / c o d e ] не будет переноситься по словам, если вам надо переносить по словам, то используйте другое форматирование, выделение цветом или ещё как, а если человек не знает как применять форматирование, то или надо научиться или не применять, както так, я думаю.

единственное что наверно надо сделать владельцу форума, это подправить фак по тегам http://visio.artberg.ru/forum/faq.asp#format

а именно дописать:
Код (если не надо переносить строки по словам): Заключите текст между [ c o d e ] и [ / c o d e ] .




визио 2003 форэвер

...а вобще-то я белый и пушистый.

Edited by - immortal on 05/17/2006 15:20:40
Go to Top of Page

zz 5

Russia
54 Posts

Posted - 05/17/2006 :  15:19:47
Хватит бодаться Все исправил

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
Go to Top of Page

brace

Russia
358 Posts

Posted - 05/17/2006 :  15:19:54
на вебсайте командир = вебмастер а не посетители ...
посетители не должны редактировать исходники
иначе бардак на сайте будет... имхо конечно.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/17/2006 :  15:27:44  Visit immortal's Homepage
quote:
Originally posted by zz 5

Все исправил


во, так красивее, только теперь этот код стал нерабочий.


quote:
посетители не должны редактировать исходники
иначе бардак на сайте будет... имхо конечно.


а почему этот текст красный, я хочу чтобы он был чёрный, модератор, отредактируй этот текст, а то господин brace говорит что я сам не должен его редактировать
а может модератору заодно и синтаксические, стиллистические и орфаграфические ошибки за всех подправить?

quote:
Хватит бодаться

просто у один склонен к максимализму, а у другого профессия (библиограф) такая, выполнять справки, поэтому я всем кому хочешь справку дам ;-)

визио 2003 форэвер

...а вобще-то я белый и пушистый.

Edited by - immortal on 05/17/2006 15:29:27
Go to Top of Page

brace

Russia
358 Posts

Posted - 05/17/2006 :  16:52:39
уважаемый immortal все понимает но любит прикольнуться

конечно посетители должны иметь право набирать текст и даже
выделять слова цветом но форматировать структуру сайта
= произвольно менять ширину страницы не должны.
Это недоработка вебмастера.
Go to Top of Page

SOKOL

Russia
5 Posts

Posted - 05/23/2006 :  16:22:15
Здравствуйте, такой вопрос можно подменить Custom Properties своей табличкой, нужно чтобы там присутствовал ComboBox, т.е. я выбираю из списка какую-либо команду, а в текстовой строке напротив прописывается нужные комментарии?
Go to Top of Page
Previous Topic Topic Next Topic  
Next Page
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)