из VB в Word

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Shanikov
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 03.12.2008 (Ср) 9:46

из VB в Word

Сообщение Shanikov » 03.12.2008 (Ср) 9:50

Добрый день уважаемые форумчане! Программа должна вставлять занесенные в нее данные (текстбоксы, лэйблы, датапикеры) и по нажатию кнопки формировать документ ворд, на основе уже имеющегося шаблона. Все references подключены, ворд открывается, шаблон открывается, а вот данные не вставляются! Почему не знаю. Помогите народ пожауйста! Заранее благодарен!
Код: Выделить всё
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
axWord = New Word.Application ' otkrivaem sam word
axWord.Visible = True ' delaem ego vidimim
axDoc = axWord.Documents.Open("D:\dog_perevozki.dotx") ' otkrivaem document v uzhe otkritom worde
axCC.Item("nomer_dog").Range.Text = dtp1.Value
End Sub
На последней строчке ошибка вылазиет!
VB 2008 Express & MS Office 2007
[Viper] :: Пользуемся тэгами CODE!
Вложения
Oshibka.JPG
Oshibka.JPG (65.31 Кб) Просмотров: 598

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: из VB в Word

Сообщение alibek » 03.12.2008 (Ср) 11:13

Во-первых, тебе в раздел по .NET.
Во-вторых, что такое axCC?
Lasciate ogni speranza, voi ch'entrate.

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: из VB в Word

Сообщение viter.alex » 07.12.2008 (Вс) 16:18

Shanikov писал(а):Добрый день уважаемые форумчане! Программа должна вставлять занесенные в нее данные (текстбоксы, лэйблы, датапикеры) и по нажатию кнопки формировать документ ворд, на основе уже имеющегося шаблона. Все references подключены, ворд открывается, шаблон открывается, а вот данные не вставляются! Почему не знаю. Помогите народ пожауйста! Заранее благодарен!
Код: Выделить всё
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
axWord = New Word.Application ' otkrivaem sam word
axWord.Visible = True ' delaem ego vidimim
axDoc = axWord.Documents.Open("D:\dog_perevozki.dotx") ' otkrivaem document v uzhe otkritom worde
axCC.Item("nomer_dog").Range.Text = dtp1.Value
End Sub
На последней строчке ошибка вылазиет!
VB 2008 Express & MS Office 2007
[Viper] :: Пользуемся тэгами CODE!

Как ты определяешь место, куда нужно вставить то или иное значение? по закладкам? тогда строка
Код: Выделить всё
axCC.Item("nomer_dog").Range.Text = dtp1.Value

неправильная. Должно быть:
Код: Выделить всё
axDoc.Bookmarks(«имя_твоей_закладки»).Range.Text=dtp1.Value

Другого способа нет. Я уже не одно приложение такое сделал. Все работает. А если данных для ввода много, то полезно, чтобы имя контрола, из которого ты вставляешь значение, совпадало с именем закладки. Тогда передача значений организуется одним циклом, и даже если ты добавишь новую закладку и контрол, то уже ничего не нужно будет переписывать.
Еще замечание по твоему коду. Не используй раннее связывание. Лучше объяви
Код: Выделить всё
Dim axWord as Word.Application

, а затем уже присваивай ему значение. Кстати, нужно еще проверятьна уже запущенный Word, чтобы избежать дубликатов. Есть такой универсальный метод из книги:
Код: Выделить всё
Try
    axWord=GetObject("Word.Application")'пытаемся получить ссылку на экземпляр приложения, если оно уже запущено
Catch'если не запущено
    axWord=CreateObject("Word.Application")'тогда создаем экземпляр этого приложения.
End Try
Лучше день потерять — потом за пять минут долететь!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 85

    TopList  
cron