Как задать значение переменной в word

Для версии Microsoft Word 2000 в данной статье см.
209227.
Для версии Microsoft Word 97 в данной статье см.
181816.
Для версии Microsoft Word 7.0 в данной статье см.
106388.

Обзор

В данной статье описывается, как хранить и извлекать переменные документа при использовании Microsoft Word.

Дополнительные сведения

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и без явных или подразумеваемых гарантий. Это включает, но не ограничиваясь, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения дополнительных функциональных возможностей или создания процедур для определенных требований.

Дополнительные сведения о том, как использовать примеры кода в этой статье щелкните следующий номер статьи базы знаний Майкрософт:

290140 OFFXP: запуск кода примера из статей базы знаний
Задавать и извлекать содержимое строковой переменной в документ или шаблон можно использовать Visual Basic для приложений Microsoft коллекции переменных .

Кроме того можно использовать поле DocVariable для извлечения значения переменной документа после его для отображения в документе Word.

Как задавать и извлекать значения переменной документа

Следующий пример макроса использует свойство переменные для хранения, а затем извлечь значение строковой переменной с именем «FullName» с текущим документом.

Sub GetSetDocVars()

Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName".
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").Value

End Sub

Примечание: Если в документе уже задано имя переменной появляется следующее сообщение об ошибке:

Ошибка во время выполнения «5903»: Имя переменной уже существует.

Необходимо удалить имя или просто сбросить значение аргумента.

Удаление переменной документа

Следующий пример макроса использует свойство Variables в первом наборе и получить значение переменной документа и затем удалить переменную из активного документа.

Sub GetSetDeleteDocVars()

Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName."
ActiveDocument.Variables.Add Name:="FullName", Value:=fName
' Retrieve the contents of the document variable.
MsgBox ActiveDocument.Variables("FullName").Value
' Delete the variable.
ActiveDocument.Variables("FullName").Delete

End Sub

Как извлечь значение переменной документа с помощью поля DocVariable

Следующий пример макроса использует свойство Variables для задания переменной документа. Следующий пример макроса являются действия, чтобы использовать поле DocVariable для извлечения значения в содержимое одного документа.

Sub GetSetDocVars()

Dim fName As String
fName = "Jeff Smith"
' Set contents of variable "fName" in a document using a document
' variable called "FullName."
ActiveDocument.Variables.Add Name:="FullName", Value:=fName

End Sub

Чтобы использовать поле DocVariable, выполните следующие действия.

  1. В меню Вставка щелкните поле.

    Примечание. В Microsoft Office Word 2007 выберите в группе текст на вкладке ВставитьЭкспресс-блоки и выберите поле.

  2. В списке категории выберите Документ автоматизации.

  3. В списке поле выберите DocVariable.

  4. В поле Новое имя в разделе свойств полявведите имя переменной документа.

    Примечание: Если вы видите Дополнительные свойства поля , а не
    Свойства полянажмите кнопку Скрыть коды.

  5. Нажмите кнопку ОК.

Если необходимо сохранить значение между сеансами работы макроса можно хранить значения, используя любой из следующих методов:

  • Свойство PrivateProfileString используется для хранения значений в файле настройки закрытого.

    Дополнительные сведения о свойстве PrivateProfileString в редакторе Visual Basic нажмите кнопку Справки Microsoft Visual Basic в меню Справка выберите Свойство PrivateProfileString введите в поле помощника Office или мастера ответов, а затем Нажмите кнопку Поиск для просмотра раздела.

  • Используйте свойство переменные для хранения значений в документе.

    Дополнительные сведения о свойстве переменные в редакторе Visual Basic меню Справка выберите команду Справка по Microsoft Visual Basic , введите Свойство Variables в поле помощника Office или мастера ответов и нажмите кнопку поиска Просмотрите раздел.

  • Использование Visual Basic для приложений операторы Ввода-вывода для записи в текстовый файл (например, написать инструкцию или инструкции Print ).

    Дополнительные сведения о записи данных в файлы, в редакторе Visual Basic выберите команду Справка по Microsoft Visual Basic в меню Справка , введите запись данных в файлы в поле помощника Office или мастера ответов и нажмите кнопку поиска Просмотрите раздел.

  • Использование объекта AutoTextEntry для хранения значений в элемент автотекста.
    Дополнительные сведения об объекте AutoTextEntry в редакторе Visual Basic меню Справка выберите команду Справка по Microsoft Visual Basic , объектом AutoTextEntry введите в поле помощника Office или мастера ответов и нажмите кнопку поиска для просмотра раздела.

Нужна дополнительная помощь?

Я делал так (пользовался формами).
1. MSWord -> RClick на панелях инструментов Ворда -> «Формы» (чтобы отобразить панель инструментов «Формы»)
2. На панели инструментов «Формы» — LClick «Текстовое поле» -> В документе появится текстовое поле (серенькое, если затенение полей формы включено)
3. RClick на появившемся поле в документе -> Свойства
4. В окне «Параменты текстового поля» -> «Параменты поля/Закладка:» вводим, например, «MyTextField1» -> ОК
5. В текстовом поле документа (сереньком) вводим какой-нибудь текст, например, «QWERTY»
6. В ВБА (Alt+F11) -> пишем:

Код: Выделить всё

Sub tt()
    MsgBox ThisDocument.FormFields.Item("MyTextField1").Range.Text
End Sub

7. F5 на макросе и видим на экране «QWERTY» ! Или «ЙЦУКЕН», как у меня, что в общем-то тоже радует глаз!

Я, кстати, ещё и защиту документа включал, чтобы «никто :wink: » не мог исправить ничего, кроме данных форм…

Пойдёт? Извиняюсь, что так подробно, вдруг всё-таки кто-ньть читать будет :)

ВикиЧтение

VBA для чайников
Каммингс Стив

Использование переменных документа

Использование переменных документа

Отличаясь от остальных приложений Office, Word позволяет определять в вашем коде специальные переменные документа, которые сохраняются вместе с документом. Переменные документа позволяют сохранять используемые процедурой значения между сеансами редактирования.

Переменные документа создаются и используются как члены коллекции Variables в данном документе. Как и обычные документы, переменные документа характеризуются именами. Приведенная ниже инструкция присваивает значение переменной Henry обычной переменной FriendOf Anais;

FriendOfAnais = _

ActiveDocument.Variable(«Henry»).Value

Для создания новой переменной документа используется метод Add коллекции Variables, как показано ниже:

Documents(«Documentl»).Variables.Add _

Name := «TimeThisMacroHasRun», Value := 0

Вы получите сообщение об ошибке, если попытаетесь добавить уже существующую переменную документа, поэтому я рекомендую вам проверить существование соответствующего имени, прежде чем создавать новую переменную. Если это так, вы сможете получить текущее значение переменной; если нет, вы можете создать переменную и назначить ее исходное значение. Этот прием проиллюстрирован следующим примером:

For Each DocVar In ActiveDocument.Variables

If DocVar.Name = «Last Caption» _

Then Doclndex = DocVar.Index

Next DocVar

If DocEndex = 0 Then

ActiveDocument.Variables.Add _

Name := «Last Caption», Value := 1

CaptionCounter = 1

Else

CaptionCounter = _

ActiveDocument.Variables(DocIndex).Value

End If

Несмотря на то, что объектные модели других приложений Office не позволяет явно создавать переменные документа, вы можете создавать пользовательские свойства документа для решения определенных задач. Подробные сведения об использовании пользовательских свойств в качестве переменных документа изложены в главе 14.

Читайте также

Использование условных переменных

Использование условных переменных
Если код, который необходимо протестировать, выполняется не в контексте процесса, или необходим более глобальный метод для контроля новых функций, то можно использовать условные переменные. Этот подход даже более простой, чем

Именование переменных

Именование переменных
Как мы уже знаем, каждая переменная должна иметь имя, которое однозначно ее идентифицирует. Об именах переменных стоит поговорить подробнее.Прежде всего, в имени переменной могут присутствовать только латинские буквы, цифры и символы

Объявление переменных

Объявление переменных
Перед использованием переменной в коде Web-сценария рекомендуется выполнить ее объявление. Для этого служит оператор объявления переменной var, после которого указывают имя переменной:var x;Теперь объявленной переменной можно присвоить какое-либо

Функции переменных

Функции переменных
gettypeПолучает тип переменной.Синтаксис:string gettype(mixed var);Возвращает тип переменной PHP var.Возможные значения для возвращаемой строки:intvalВозвращает целочисленное значение переменной.Синтаксис:int intval(mixed var, int [base]);Возвращает целочисленное значение

loadVariablesNum — Прикрепляет группу внешних переменных к уровню документа

loadVariablesNum — Прикрепляет группу внешних переменных к уровню документа
loadVariablesNum(Глобальная функция)Прикрепляет группу внешних переменных к уровню документаСинтаксис:loadVariablesNum (url, level); loadVariablesNum (url, level, method);Аргументы:Функция loadVariablesNum() почти идентична loadVariables(), но требует

Использование переменных и выражений в моделях

Использование переменных и выражений в моделях
Развитие технологий постоянно предъявляет все более жесткие требования к инженеру-конструктору. На первое место в современном конструировании выходят скорость и динамичность выполнения проектов (чертежей или моделей) в

4. Типы переменных

4. Типы переменных
IntegerЦелочисленные переменные способны хранить только не очень большие целые числа, которые располагаются в диапазоне от –32768 до +32767. Арифметические операции над подобными числами производятся очень быстро. Для обозначения подобного типа применяется

30. Имена переменных

30. Имена переменных
Имя (идентификатор) включает в себя последовательность букв и цифр. Первый символ должен являться буквой. Знак подчерка считается буквой. C++ не ограничивает число символов в имени, но определенные части реализации находятся вне ведения автора

Объявление переменных

Объявление переменных
Как уже говорилось в главе 6, объявление — это VBA-оператор, с помощью которого вы сообщаете компилятору о своих намерениях использовать именованный объект и явно описываете тип этого объекта. Операторы объявлений чаще всего используются для

Использование переменных в операторах присваивания

Использование переменных в операторах присваивания
Можно присваивать переменным не только буквальные значения — точно так же можно присваивать и значения, определяемые другими переменными. В операторе curSalePrice = curCost * sngMargin переменной curSalePrice присваивается значение,

Пример 22-9. Использование локальных переменных при рекурсии

Пример 22-9. Использование локальных переменных при рекурсии
#!/bin/bash# факториал# ———# Действительно ли bash допускает рекурсию?# Да! Но…# Нужно быть действительно дубинноголовым, чтобы использовать ее в сценариях# на языке командной

Урок 8. Использование переменных

Урок 8. Использование переменных
Переменные представляют собой поименованные области памяти, содержащие какую-либо информацию, такую как числа или последовательность символов. Например, вы можете создать переменную и поместить в нее число 5. Если вы прибавите к данной

January 24 2014, 22:06

Category:

  • IT
  • Cancel

Доброго вечера и нескучных выходных почтенным.
Возникла такая проблема: в тексте несколько раз встречается название организации. Как бы сделать так, чтобы заполнив поле один раз в шапке, далее просто указать эту переменную в шаблоне и автоматом получать туда текст из шапки?
Туплю и даже не могу сформулировать запрос в гугл, ибо никогда не работал с офисом в таком качестве
Заранее спасибо.

0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

1

Как лучше вставить значение переменной в текст ворд?

15.07.2015, 02:18. Показов 11701. Ответов 13


Студворк — интернет-сервис помощи студентам

текстовое поле формы это переменная? то есть будет ли имя этого поля равняться переменной или же его нужно присвоить?
Например Поле textbox1 это тоже самое что переменная textbox1? или же нужно создать переменную и присвоить ей значение этого поля? или же поле это процедура и не может равняться переменой с таким именем? или же мне нужно объявить процедуру а не переменную? и как вставить значение процедуры потом в текст ворда с помощью полей?

Извините за кучу вопросов сразу если кому не трудно подскажите новичку (простейшую форму 3 дня уже пишу весь интернет загуглил в голове каша. неделю назад понятия не имел что такое VBA)



0



Sn1p3rOk

286 / 173 / 86

Регистрация: 19.04.2014

Сообщений: 1,095

15.07.2015, 02:53

2

Лучший ответ Сообщение было отмечено VeX как решение

Решение

Цитата
Сообщение от VeX
Посмотреть сообщение

Например Поле textbox1 это тоже самое что переменная textbox1?

Нет. textbox1 это контрол TextBox, что бы получить его значение, то есть текст который вы ввели в textBox нужно его считать в переменную.

Добавлено через 25 минут
Для того чтобы вставить текст в Word нужно сделать так

Visual Basic
1
2
3
4
5
6
7
8
' Объявляем переменную типа String
Dim str As String
 
' Записываем содержимое textBox1 в переменную str
str = textBox1.Text
 
' выводим значение переменной str в документ Word
Selection.TypeText str

Либо можно упростить и сделать так

Visual Basic
1
2
' Выводим содержимое textBox1 в документ Word
Selection.TypeText textBox1.Text

Как видите в последнем варианте мы обошлись без переменной



1



5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

15.07.2015, 03:24

3

Цитата
Сообщение от VeX
Посмотреть сообщение

Поле textbox1 это тоже самое что переменная textbox1?

А можно и так сказать. Например, в моей первой форме даблклик по текстбоксу вызывает мессиджбокс с содержимым того текстбокса (не вдумывайтесь — попробуйте!).

Эту форму (не зная что это вообще такое) делал 7 дней, так что… см. вложение.

И любопытно было бы узнать — а что вас-то неделю назад подтолкнуло к этому?!

Миниатюры

Как лучше вставить значение переменной в текст ворд?
 



0



286 / 173 / 86

Регистрация: 19.04.2014

Сообщений: 1,095

15.07.2015, 03:39

4

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

А можно и так сказать.

Нельзя, контрол это не переменная!
Вы выводите в MsgBox значение поля контрола TextBox с помощью свойства Text.



0



0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

15.07.2015, 04:05

 [ТС]

5

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

И любопытно было бы узнать — а что вас-то неделю назад подтолкнуло к этому?!

Надоело договора каждый раз заполнять. Случайно скачал файл с нета а там было диалоговое окно нажмите тут, выберите здесь. Мне очень захотелось иметь такое же

Добавлено через 3 минуты

Цитата
Сообщение от Sn1p3rOk
Посмотреть сообщение

Selection.TypeText textBox1.Text

А это где писать? прямо в тексте?



0



286 / 173 / 86

Регистрация: 19.04.2014

Сообщений: 1,095

15.07.2015, 04:29

6

Цитата
Сообщение от VeX
Посмотреть сообщение

А это где писать? прямо в тексте?

В VBA в модуле.



0



0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

15.07.2015, 04:33

 [ТС]

7

не совсем понял. мне нужно в определенных местах в тексте вставить значения из формы. догадываюсь что это делается при помощи полей функция DOCVARIABLE но я еще не пробовал



0



286 / 173 / 86

Регистрация: 19.04.2014

Сообщений: 1,095

15.07.2015, 04:35

8

Документ выложите сюда.



0



0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

15.07.2015, 04:42

 [ТС]

9

Пока только заготовка



0



0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

15.07.2015, 05:24

 [ТС]

10

С Format тоже разобрался (верхний файл формат не верно прописан)



0



286 / 173 / 86

Регистрация: 19.04.2014

Сообщений: 1,095

15.07.2015, 05:38

11

VeX, и что нужно сделать?



0



0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

15.07.2015, 12:24

 [ТС]

12

Цитата
Сообщение от Sn1p3rOk
Посмотреть сообщение

и что нужно сделать?

вообще требуется заполнить договор и данные занести в базу данных при создании нового номера договора.
в поле номер договора если ввести номер уже существующего договора — сравнить его с базой данных — если в базе есть такой номер — заполнить данными из базы.

ну а на данном этапе я спрашивал каким способом лучше вставлять данные текстбокса в документ ворд в определенных местах (автоматически не чего не выделяя и никуда не нажимая — только кнопка ОК в форме)



0



18 / 19 / 5

Регистрация: 14.09.2015

Сообщений: 104

17.09.2015, 14:11

13

Удалось реализовать данную задачу.? Выложите файл…плиззз



0



0 / 0 / 0

Регистрация: 04.07.2015

Сообщений: 53

23.09.2015, 00:45

 [ТС]

14

кое-что создано, но не закончено, т.к. появились более первостепенные задачи



0



Понравилась статья? Поделить с друзьями:
  • Как задать значение оси в excel
  • Как задать значение не меньше в excel
  • Как задать значение массива в excel
  • Как задать значение в таблице excel
  • Как задать значение в excel для всего столбца