|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.06.2010, 17:03 | #1 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 13
|
Как присвоить новое имя?
word 2003 встроенный vba
надо создать 2 новых property и присвоить им определенные значения. которые бы изменялись автамотически при вводе в код других значений Sub SetProperty(name As String, propValue As String) ActiveDocument.CustomDocumentProper ties("Test1").Value = "Name1" ActiveDocument.CustomDocumentProper ties("Test2").Value = "Name2" // присваиваем значения property надо написать так что бы обновлялось автвмотически например при замене "name1" на "kjhgf23" End Sub Sub AddProperty(name As String) Dim objCustomProperties As DocumentProperties Set objCustomProperties = ActiveDocument.CustomDocumentProper ties objCustomProperty.Add name:="Test1", _ Type:=msoPropertyTypeString, Value:="Name1", _ LinkToContent:=False // создаем новый property пишет ошибку, хотя новый property с именет test1 создает почему не понимаю objCustomProperties.Add name:="Test2", _ Type:=msoPropertyTypeString, Value:="Name2", _ LinkToContent:=False End Sub Function GetProperty(name As String) As String Dim str As String str = ActiveDocument.CustomDocumentProper ties(name).Value = "Name1" Debug.Print name & " = " & str str = ActiveDocument.CustomDocumentProper ties(name).Value = "Name2" Debug.Print name & " = " & str End Function Sub UpdateFields() ActiveDocument.Fields.Update End Sub Sub Test() AddProperty "Test1" SetProperty "test1", "value1" AddProperty "Test2" SetProperty "test2", "value2" End Sub прошу помогите, я только учусь
Словом можно обидеть. Словарем - убить
|
01.07.2010, 09:54 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Код:
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 01.07.2010 в 12:36. |
01.07.2010, 13:55 | #3 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 13
|
viter.alex спасибо большое за помощь
у меня еще один вопрос все работает и создаеться но нельзя ли что бы на экран (после запуска программы) выводилось что-то типа Test1 = Name1 Test2 = Name2 и все это в одном окошке? Sub AddProperty(sPropName As String) Dim str As Variant Dim objCustomProperties As DocumentProperties Set objCustomProperties = ActiveDocument.CustomDocumentProper ties str = objCustomProperties("Test1").Value str = objCustomProperties("Test2").Value End Sub Sub SetProperty(sPropName As String, sValue As String) Dim objCustomProperties As DocumentProperties Set objCustomProperties = ActiveDocument.CustomDocumentProper ties objCustomProperties("Test1").Value = "Name1" objCustomProperties("Test2").Value = "Name2" // думаю что лошусь я где-то здесь End Sub Public Function GetProperty(sPropName As String) As String Dim objCustomProperties As DocumentProperties Set objCustomProperties = ActiveDocument.CustomDocumentProper ties GetProperty = objCustomProperties("Test1").Value GetProperty = objCustomProperties("Test2").Value End Function Sub UpdateFields() ActiveDocument.Fields.Update End Sub Sub Test() AddProperty "Test1" SetProperty "Test1", "Name1" MsgBox GetProperty("Test1") End Sub если вам сложно или просто лень отвлекаться на такую ерунду, то подскажите литературку которая даже тупому новичку подробно все разжует) заранее спасибо
Словом можно обидеть. Словарем - убить
|
01.07.2010, 14:20 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Возвращаясь к тому, что я написал, это будет так:
Код:
Лучше день потерять — потом за пять минут долететь!©
|
01.07.2010, 14:58 | #5 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 13
|
опять спасибо и еще вопрос последний
почему test1 = name2 test2= name2 как присвоить значение name1 для test1 ?
Словом можно обидеть. Словарем - убить
|
01.07.2010, 15:21 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Думать, думать и ещё раз думать
Лучше день потерять — потом за пять минут долететь!©
|
01.07.2010, 15:40 | #7 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 13
|
Sub SetProperty(sPropName As String, sValue As String)
Dim objCustomProperties As DocumentProperties Set objCustomProperties = ActiveDocument.CustomDocumentProper ties objCustomProperties("Test1").Value = "Name1" objCustomProperties("Test2").Value = "Name2" // думаю что лошусь я где-то здесь End Sub
Словом можно обидеть. Словарем - убить
|
01.07.2010, 16:26 | #8 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Книги по VBA для Word
Особое внимание книге Марка Розенберга
Лучше день потерять — потом за пять минут долететь!©
|
05.07.2010, 12:53 | #9 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 13
|
спасибо разобрался тема закрыта
Словом можно обидеть. Словарем - убить
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как присвоить переменной имя файла | mayonez | Общие вопросы Delphi | 3 | 27.06.2010 13:02 |
Переменной присвоить имя файла | komar73 | Microsoft Office Excel | 4 | 26.03.2009 15:20 |
Как присвоить имя столбцу в VBA? | Neo007 | Microsoft Office Excel | 8 | 22.01.2009 09:46 |
Как присвоить ячейке имя? | Maxx | Microsoft Office Excel | 2 | 01.11.2008 11:30 |
Как присвоить имя автофигуре? | Град | Microsoft Office Excel | 6 | 17.10.2008 17:16 |