Я создал форму, объявляю объектную переменную:
- Код: Выделить всё
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 "воспринимались" этим и другими макросами из другой процедуры?