Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 и word(Как лучше?) / 15 сообщений из 15, страница 1 из 1
05.08.2009, 13:12
    #36127544
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Есть на форме combobox
В документе word создаю поле DocVariable и из комбо отправляю данные в это поле
Код: plaintext
DocWord.Variables.Item("Otvet").Value = Me.Combo1.Text
Все работает прекрасно, пока заполнены все поля.
Если заполнить не все поля, то выскакивает в незаполненном поле
Код: plaintext
Ошибка! Переменная документа не указана.
Как обойти проблему?
...
Рейтинг: 0 / 0
05.08.2009, 17:27
    #36128454
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
lrad,

Application.DisplayAlerts =False
...
Рейтинг: 0 / 0
05.08.2009, 20:33
    #36128787
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
big-duke,
А куда это вставить?
...
Рейтинг: 0 / 0
06.08.2009, 09:17
    #36129099
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
lrad,

туда, куда вы вставляете текст
Код: plaintext
DocWord.Variables.Item("Otvet").Value = Me.Combo1.Text
...
Рейтинг: 0 / 0
06.08.2009, 12:16
    #36129593
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Не получается у меня...
выдает
Код: plaintext
1.
2.
"DisplayAlerts" не является членом "System.Windows.Forms.Application".

Как нужно сделать?
привожу часть кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Friend Class Form1
	Inherits System.Windows.Forms.Form
	Dim WordApp As Microsoft.Office.Interop.Word.Application
	Dim DocWord As Microsoft.Office.Interop.Word.Document
	Dim strText As String
	Dim FileNum As Short
	Dim FName As String
	
	Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
		WordApp = New Microsoft.Office.Interop.Word.Application 'создаём новый экземпляр Word-a
		WordApp.Visible = True 'Делаем его "видимым"
		DocWord = WordApp.Documents.Open(My.Application.Info.DirectoryPath & "\primer.doc")
		DocWord.Activate()
		DocWord.Fields.Update()
        DocWord.Variables.Item("1").Value = Me._DTPicker1_0._Value
        DocWord.Variables.Item("2").Value = Me.Text7( 24 ).Text
        Application.DisplayAlerts = False
		DocWord.Variables.Item("Ot").Value = Me.Combo1.Text
		DocWord.Variables.Item("Dop").Value = Me.Combo2( 0 ).Text
		DocWord.Variables.Item("Proiz").Value = Me.Combo4.Text
		DocWord.Variables.Item("Nab).Value = Me.Combo5.Text
		DocWord.Variables.Item("nomer").Value = Me.Text7( 23 ).Text
		DocWord.Fields.Update()
	End Sub
...
Рейтинг: 0 / 0
06.08.2009, 12:18
    #36129599
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
lrad,

WordApp.DisplayAlerts=False
...
Рейтинг: 0 / 0
06.08.2009, 12:19
    #36129601
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Код: plaintext
1.
2.
WordApp.Visible = True 'Делаем его "видимым"
WordApp.DisplayAlerts = False
...
...
Рейтинг: 0 / 0
06.08.2009, 12:27
    #36129633
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Konst_One
Код: plaintext
1.
2.
WordApp.Visible = True 'Делаем его "видимым"
WordApp.DisplayAlerts = False
...

Все равно выскакивает ошибка - Ошибка! Переменная документа не указана.
Может надо как то сделать, чтобы по умолчанию как то вставлялся пробел?(если не заполнены данные)
...
Рейтинг: 0 / 0
06.08.2009, 12:39
    #36129691
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
lrad,

т.е. вы заполняете поля программно, так ? И Me.Combo1.Text у вас пустое ? МОжет вам тогда добавить проверку на пустое значение и принудительно вставлять пробел ?
...
Рейтинг: 0 / 0
06.08.2009, 13:21
    #36129838
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
big-duke,
В принципе я так и хочу
А как должна выглядеть конструкция проверки?
что то типа этого?
Код: plaintext
1.
2.
if Me.Combo1.Text =  0 
Then Me.Combo1.Text = ""
...
Рейтинг: 0 / 0
06.08.2009, 13:29
    #36129873
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Написал

Код: plaintext
1.
2.
3.
DocWord.Variables.Item("2").Value = Me.Text7( 24 ).Text
        If Me.Text7( 24 ).Text = "" Then
            Me.Text7( 24 ).Text = " "

Не работает..
Как правильно проверить пустое значение?
Код: plaintext
1.
2.
3.
DocWord.Variables.Item("2").Value = Me.Text7( 24 ).Text
        If Me.Text7( 24 ).Text =  0  Then
            Me.Text7( 24 ).Text = " "
тоже не идет...
...
Рейтинг: 0 / 0
06.08.2009, 14:11
    #36130033
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Код: plaintext
1.
2.
3.
4.
  If Me.Text7( 24 ).Text = "" Then
            Me.Text7( 24 ).Text = " "
        Else : DocWord.Variables.Item("2").Value = Me.Text7( 24 ).Text
        End If
Работает со второго раза(при нажатии на кнопку, открывается ворд, выскакивает ошибка. Закрываю ворд, повторяю - все нормально....)
...
Рейтинг: 0 / 0
06.08.2009, 14:39
    #36130151
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Разобрался сам....
Подскажите правильно хоть? или так не делают?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
        If Me.Text7( 24 ).Text = "" Then
            Me.Text7( 24 ).Text = " "
        End If
        WordApp = New Microsoft.Office.Interop.Word.Application 'создаём новый экземпляр Word-a
        WordApp.Visible = True 'Делаем его "видимым"
        WordApp.DisplayAlerts = False
		DocWord = WordApp.Documents.Open(My.Application.Info.DirectoryPath & "\primer.doc")
		DocWord.Activate()
		DocWord.Fields.Update()
        DocWord.Variables.Item("2").Value = Me.Text7( 24 ).Text
Тоесть после нажатия кнопки, проверяю значение на пустое, если пустое ставлю пробел
а потом ТОЛЬКО играю с вордом
...
Рейтинг: 0 / 0
06.08.2009, 19:09
    #36131121
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
Разве это VB6?
...
Рейтинг: 0 / 0
06.08.2009, 23:55
    #36131377
lrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6 и word(Как лучше?)
VladConnРазве это VB6?
Начал с него, а закончил VB.net)))
так получилось...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 и word(Как лучше?) / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]