С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 4
1

Создание документа word по шаблону vb basic

29.01.2018, 12:24. Показов 1527. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Для работы разрабатываю програмку для быстрой печати заявок в ворде на перевозку груза. Кодировать пока только учусь, не судите строго. Когда доделаю опубликую тут, вдруг мои наработки помогут такому новичку как я)

Проблема в 2 моментах:
1. Начала выскакивать ошибка invalid qualifier на самом старте программы. Ругается на каждое выражение типа
nomer = Val(nomer.Text)
2. Пытаюсь сохранить файл под новым именем (как номер заявки nomer.Text). Верно ли следующее выражение:
objWordDoc.SaveAs FileName:=iPath & nomer.Text & ".doc"



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Private Const iFileName = "\\Transp_ceh3\новая папка (2)\Бартош А. А\Расчет командировки\zayavka1.dotx"
Private Const iPath = "\\Transp_ceh3\новая папка (2)\Бартош А. А\Расчет командировки\"
 
 
 
Private Sub Form_Activate()
ComboBox1.AddItem "Арзамас, РФ - Минск, РБ"
ComboBox1.AddItem "Белебей, РФ - Минск, РБ"
ComboBox1.AddItem "Большое Буньково, РФ - Минск, РБ"
ComboBox1.AddItem "Волгоград, РФ - Минск, РБ"
ComboBox1.AddItem "Волжский, РФ - Минск, РБ"
ComboBox1.AddItem "Волжский, РФ - Минск, РБ"
ComboBox1.AddItem "Вологда, РФ - Минск, РБ"
ComboBox1.AddItem "Гатчина, РФ - Минск, РБ"
ComboBox1.AddItem "Дмитровоград, РФ - Минск, РБ"
ComboBox1.AddItem "Каменск-Уральский, РФ - Минск, РБ"
ComboBox1.AddItem "Каменск-Шахтинский, РФ - Минск, РБ"
ComboBox1.AddItem "Коломна, РФ - Минск, РБ"
ComboBox1.AddItem "Кострома, РФ - Минск, РБ"
ComboBox1.AddItem "Лакинск, РФ - Минск, РБ"
ComboBox1.AddItem "Лихославль, РФ - Минск, РБ"
ComboBox1.AddItem "Магнитогорск, РФ - Минск, РБ"
ComboBox1.AddItem "Магнитогорск, РФ - Минск, РБ"
ComboBox1.AddItem "Октябрьский, РФ - Минск, РБ"
ComboBox1.AddItem "Первомайский, РФ - Минск, РБ"
ComboBox1.AddItem "Первоуральск, РФ - Минск, РБ"
ComboBox1.AddItem "Набережные Челны, РФ - Минск, РБ"
ComboBox1.AddItem "Ногинск, РФ - Минск, РБ"
ComboBox1.AddItem "Ногинск - Б.Буньково, РФ - Минск, РБ"
ComboBox1.AddItem "Ногинск - Серпухов, РФ-Минск, РБ"
ComboBox1.AddItem "Нижний Новгород, РФ - Минск, РБ"
ComboBox1.AddItem "Первоуральск, РФ - Минск, РБ"
ComboBox1.AddItem "Нытва, РФ - Минск, РБ"
ComboBox1.AddItem "Покров, РФ - Минск, РБ"
ComboBox1.AddItem "Радужный, РФ - Минск, РБ"
ComboBox1.AddItem "Ржев, РФ - Минск, РБ"
ComboBox1.AddItem "Рославль, РФ - Минск, РБ"
ComboBox1.AddItem "Самара, РФ - Минск, РБ"
ComboBox1.AddItem "Санкт-Петербург, РФ - Минск, РБ"
ComboBox1.AddItem "Смоленск, РФ - Минск, РБ"
ComboBox1.AddItem "Тамбов, РФ - Минск, РБ"
ComboBox1.AddItem "Тольятти, РФ - Минск, РБ"
ComboBox1.AddItem "Тверь, РФ - Минск, РБ"
ComboBox1.AddItem "Тутаев, РФ - Минск, РБ"
ComboBox1.AddItem "Уфа, РФ - Минск, РБ"
ComboBox1.AddItem "Чебоксары, РФ - Минск, РБ"
ComboBox1.AddItem "Челябинск, РФ - Минск, РБ"
ComboBox1.AddItem "Щелково, РФ - Минск, РБ"
ComboBox1.AddItem "Электросталь, РФ - Минск, РБ"
ComboBox1.AddItem "Ярославль, РФ - Минск, РБ"
 
Combo1.AddItem "верхняя"
Combo1.AddItem "боковая"
Combo1.AddItem "задняя"
Combo1.AddItem "любая"
 
Combo2.AddItem "отсрочка 90 кал. дней c момента выгрузки"
Combo2.AddItem "отсрочка 60 кал. дней c момента выгрузки"
Combo2.AddItem "отсрочка 30 кал. дней c момента выгрузки"
Combo2.AddItem "100% предоплата"
 
End Sub
 
Private Sub Command1_Click()
Dim nomer As String
Dim denz As String
Dim denv As String
Dim obemi As String
Dim naimen As String
 
nomer = Val(nomer.Text)
denz = FormatDateTime(denz.Text)
denv = FormatDateTime(denv.Text)
obemi = Val(obemi.Text)
naimen = Val(naimen.Text)
 
nomer_protokola = Val(nomer_protokola.Text)
 
    Dim objWordApp As Object, objWordDoc As Object
    If Dir(iFileName) <> "" Then
       Set objWordApp = CreateObject("Word.Application")
       Set objWordDoc = objWordApp.Documents.Open(iFileName)
    objWordDoc.Bookmarks("dannie").Range.Text = ComboBox1.Text ''заполнение закладки dannie из ворда значением Combobox1
    objWordDoc.Bookmarks("nomer_zayavki").Range.Text = nomer.Text
    objWordDoc.Bookmarks("nomer").Range.Text = nomer.Text
     objWordDoc.Bookmarks("den_zagruzki").Range.Text = denz.Text
      objWordDoc.Bookmarks("den_vigruzki").Range.Text = denv.Text
       objWordDoc.Bookmarks("obemi").Range.Text = obemi.Text
        objWordDoc.Bookmarks("tip_zagruzki").Range.Text = Combo1.Text
        objWordDoc.Bookmarks("naimen_perevoza").Range.Text = naimen.Text
         objWordDoc.Bookmarks("otsrochka").Range.Text = otsrochka.Text
       'objWordApp.Visible = True
       If Dir(iPath, vbDirectory) = "" Then MkDir iPath
       objWordDoc.SaveAs FileName:=iPath & nomer.Text & ".doc"
       objWordDoc.Close: objWordApp.Quit
    Else
       MsgBox "Документ отсутствует", vbCritical, ""
    End If
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2018, 12:24
Ответы с готовыми решениями:

Создание документа MS Word из кода VB
Привет всем ! Как из программы на VB создать документ MS Word, поместить в него таблицу и заполнить...

Создание документа Word по шаблону
Добрый день! Подскажите, как сделать такой макрос. Нужно составить отчет в Word на основе данных...

Создание документа Word по шаблону из Excel
Пытаюсь создать документ Word из шаблона. Необходимо в шаблон добавить текст. Добавляю но шаблон...

Есть работающий код создание документа Word по шаблону
Создание документа Word по шаблону. Создаю шаблон в Word,ставлю закладки. Отчет из формы , форма...

5
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
29.01.2018, 12:52 2
Цитата Сообщение от alex_trem7 Посмотреть сообщение
nomer = Val(nomer.Text)
У вас и текстбокс называется nomer и переменная nomer ?

Добавлено через 1 минуту
Цитата Сообщение от alex_trem7 Посмотреть сообщение
Верно ли следующее выражение:
Это сетевая папка? А проверить - не судьба ?
1
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 4
29.01.2018, 15:48  [ТС] 3
1. Благодарю, с текстбоксами проблему решил)
2. Не получается сохранить документ как новый файл по имени как в поле nomer1.Text.
Я пытаюсь это сделать через команду:
If Dir(iPath, vbDirectory) = "" Then MkDir iPath
objWordDoc.SaveAs FileName:=iPath & nomer & ".doc"
objWordDoc.Close: objWordApp.Quit
Else
MsgBox "Документ отсутствует", vbCritical, ""

В итоге прога пишет: файл заблокирован для редактирования пользователем User. Предлагает сохранить как копию.
0
185 / 183 / 31
Регистрация: 11.10.2016
Сообщений: 599
31.01.2018, 10:12 4
при составлении имени файла с путем к нему необходимо учитывать разделяющий путь и само имя файла обратный слэш \.
Возможно, правильнее будет: objWordDoc.SaveAs FileName:=iPath & chr$(92) & nomer & ".doc"
где chr$(92) - это слэш. можно его и просто в кавычках написать
0
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
31.01.2018, 10:19 5
Цитата Сообщение от _shark Посмотреть сообщение
учитывать разделяющий путь и само имя файла обратный слэш \
Константа iPath имеет слеш в конце
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 4
31.01.2018, 12:49  [ТС] 6
Предыдущие замечания принял в учет. Также методом проб и ошибок, скорректировал строку 80 на след. вид:
Visual Basic
1
If (iFileName) <> "" Then
На данный момент программа успешно вводит в документ шаблона данные из ячеек, открывая документ.

Затем компилятор ругается на строку 93:

Visual Basic
1
If Dir(iPath, vbDirectory) = "" Then MkDir iPath

Благодарю всех кто помогает)) Уже хоть получается нормально ввести новые данные)
0
31.01.2018, 12:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2018, 12:49
Помогаю со студенческими работами здесь

Заполнение информации Word документа по шаблону
Здравствуйте, знатоки Access. Помогите разрешить проблему. Цель: сделать так, чтобы при нажатии на...

Заполнение информации Word документа по шаблону - MS Access
Здравствуйте, знатоки Access. Помогите. Цель: при нажатии кнопки &quot;печать&quot; на форме &quot;Главная&quot;...

Заполнение Word документа (Экзаменационные билеты по заданному шаблону)
Доброе времени суток. Передо мой стоит задача написать программу которая формирует...

Создание word документа
Доброе время суток друзья. Как реализовать вывод в word всей введенной и выбранной информации? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru