16 июня 2025, 05:32:28

Новости:

Чтобы загрузить изображение нужно нажать кнопку "ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР".


K

Как считывать переменные?

Автор kminas, 11 февраля 2006, 21:50:36

0 Пользователей и 1 гость просматривают эту тему.

kminas

До сих пор не научился работать с переменными.
Я создал форму, объявляю объектную переменную:
Dim oapp As Object  
Затем кнопкой открываю Word-овский документ с таблицей, которую придется заполнять готовым текстом из Word-овских макросов и добавлением информации из элементов формы:
TextBox, ComboBox, OptionBox, CheckBox
Private Sub cmdSave_Click()
Set oapp = CreateObject("Word.Application")
oapp.Visible = True
oapp.ChangeFileOpenDirectory "c:\WINDOWS\Application Data\Microsoft\Templates\"
oapp.Documents.Open FileName:="Спецификация.doc"
oapp.ActiveDocument.SaveAs FileName:="\Мои документы\Спецификации\Задай ИМЯ файла", FileFormat:=wdFormatDocument, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False
oapp.Selection.MoveDown Unit:=wdLine, Count:=3

oapp.Dialogs(wdDialogFileSaveAs).Show

Form1.Show
End Sub  

Private Sub Text1_Change()
Dim pos As String
pos = Text1.Text
End Sub  

Вот начало одного макроса:
Private Sub Command1_Click()
oapp.Selection.TypeText Text:="pos" 'вместо pos должна вставляться информация, например, из TextBox
oapp.Selection.MoveRight Unit:=wdCell
oapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
oapp.Selection.TypeText Text:= _
"Нория производительностью 175 т/час, с электродвигателем "
oapp.Selection.MoveRight Unit:=wdCharacter, Count:=1
oapp.Selection.TypeText Text:="У8-УН-175 по графической "
oapp.Selection.MoveRight Unit:=wdCharacter, Count:=1
oapp.Selection.TypeText Text:="---"
oapp.Selection.MoveRight Unit:=wdCharacter, Count:=1
oapp.Selection.TypeText Text:= _
"ОАО Грязинский "

Все работает, текст вставляется в ячейки, но я не знаю как пользоваться переменными, как сделать, чтобы переменные из TextBox, ComboBox, OptionBox, CheckBox "воспринимались" этим и другими макросами из другой процедуры?  

Лесандр

Так у каждого элемента есть уникальное имя. К свойству (полю) элемента можно обратиться имя.свойство
Например:
TextBox.Text
ComboBox.text

"Рай на земле не возможен, но мы можем принести в мир кусочек рая и бороться за то, чтобы сохранить его" Дж. Р. Р. Толкин

kminas


Nixton

Если хочешь что бы каждая процедура делала что-то, объявляй их

[Для просмотра ссылки зарегистрируйтесь]
[Для просмотра ссылки зарегистрируйтесь]



По всем вопросам пишите по адресу gratispp@mail.ru