Я создал форму, объявляю объектную переменную:
CODE |
Dim oapp As Object |
Затем кнопкой открываю Word-овский документ с таблицей, которую придется заполнять готовым текстом из Word-овских макросов и добавлением информации из элементов формы:
TextBox, ComboBox, OptionBox, CheckBox
CODE |
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 |
CODE |
Private Sub Text1_Change() Dim pos As String pos = Text1.Text End Sub |
Вот начало одного макроса:
CODE |
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 "воспринимались" этим и другими макросами из другой процедуры?