Тип word application не определен

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    >
    VB.net Не определен тип Microsoft.Office.Interop.Word.Application
    , Хотя подключены все необходимые компоненты.

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему

      


    Сообщ.
    #1

    ,
    20.06.07, 10:17

      Задача: создание документа Word

      Код:

      ExpandedWrap disabled

        Dim w As New Microsoft.Office.Interop.Word.Application

                w.Documents.Open(«C:test.doc»)

                w.ActiveWindow.Selection.TypeText(«Жили у бабуси два весёлых гуся …»)

                w.Documents.Close()

                w.Quit()

      Ошибка:
      Type ‘Microsoft.Office.Interop.Word.Application’ is not defined.

      Word установлен 2002, в пакете Office XP.
      Есть библиотека
      Interop.Microsoft.Office.Core.dll и Interop.word.dll

      Причем, объектная библиотека msword.olb находится в папке office.


      Viper



      Сообщ.
      #2

      ,
      20.06.07, 14:53

        Senior Member

        ****

        Рейтинг (т): 28

        А в Reference библиотека нужная прицеплена?


        alt5000

          


        Сообщ.
        #3

        ,
        21.06.07, 06:15

          Цитата Viper @ 20.06.07, 14:53

          А в Reference библиотека нужная прицеплена?

          Да, но я теперь решил использовать метод CreateObject вместо подключения interop. Код следующий:

          ExpandedWrap disabled

            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

                    ‘Dim w As New Microsoft.Office.Interop.Word.Application

                    Dim xls As Object

                    xls = CreateObject(«Word.Application»)

                    xls.Documents.Open(«C:test.doc»)

                    xls.ActiveWindow.Selection.TypeText(«Жили у бабуси два весёлых гуся …»)

                    ‘xls.Documents.visible()

                    ‘xls.Documents.Close()

                    ‘xls.Quit()

                End Sub

          Однако при выполнении строки xls.Documents.Open(«C:test.doc») пишет, что файл отсутствует. А как он может отсутствовать, если он только что создан xls = CreateObject(«Word.Application») ?


          Viper



          Сообщ.
          #4

          ,
          21.06.07, 06:50

            Senior Member

            ****

            Рейтинг (т): 28

            alt5000, кто тебе сказал, что командой xls = CreateObject(«Word.Application») непременно должен создаться файл «C:test.doc»? Ты всего лишь создаешь соотвествующий объект


            alt5000



            Сообщ.
            #5

            ,
            22.06.07, 10:51

              Цитата Viper @ 21.06.07, 06:50

              alt5000, кто тебе сказал, что командой xls = CreateObject(«Word.Application») непременно должен создаться файл «C:test.doc»? Ты всего лишь создаешь соотвествующий объект

              Хорошо, а как создать документ, непосредственно перед его открытием? Не подскажешь…


              Отшельник



              Сообщ.
              #6

              ,
              22.06.07, 11:07

                отшельник

                *****

                Рейтинг (т): 81

                Цитата alt5000 @ 22.06.07, 10:51

                Хорошо, а как создать документ

                правда на C#, думаю без проблем переведешь на VB…

                ExpandedWrap disabled

                  Microsoft.Office.Interop.Word.ApplicationClass cWordApp = null;

                  cWordApp = new Microsoft.Office.Interop.Word.ApplicationClass();

                  // предоставляет доступ к текущему документу

                  Microsoft.Office.Interop.Word.Document cWordDocument = null;

                  cWordDocument = new Microsoft.Office.Interop.Word.DocumentClass();

                  object msi = System.Reflection.Missing.Value;

                  object cObject = (object) «c:\1.doc»; // ссылка на готовый документ word

                  // открыть готовый документ ( предполагаем что он пустой )

                  //cWordDocument = cWordApp.Documents.Open2000(ref cObject, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi);

                  cWordDocument.Activate(); // активизируем его

                  cWordApp.Visible = true;


                Pit-Bul



                Сообщ.
                #7

                ,
                22.06.07, 11:57

                  ExpandedWrap disabled

                    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

                            Dim xls As Object

                            xls = CreateObject(«Word.Application»)

                            xls.Visible = True

                            xls.Documents.Add()

                            xls.ActiveWindow.Selection.TypeText(«Жили у бабуси два весёлых гуся …»)

                            xls.Documents.Save(«c:»)

                            xls.Documents.Close()

                            xls.Quit()

                        End Sub

                  вот твой вариант :whistle:


                  RDAlex



                  Сообщ.
                  #8

                  ,
                  22.06.07, 20:04

                    Full Member

                    ***

                    Рейтинг (т): 25

                    alt5000 Привет!

                    ExpandedWrap disabled

                      Хорошо, а как создать документ, непосредственно перед его открытием? Не подскажешь…

                    Можно так еще

                    ExpandedWrap disabled

                      using System.Runtime.InteropServices;

                      using System.Reflection;            

                      string appProgID;

                      Type wordType;

                      object obWord;

                      object obDocWord;

                      object obDoc;

                      object[] argsShablon = new object[1]; //используется для открытия готового документа Word

                      argsShablon[0] = @»C:1.doc»;         //используется для открытия готового документа Word

                      appProgID = «Word.Application»;

                      wordType = Type.GetTypeFromProgID(appProgID);

                      obWord = Activator.CreateInstance(wordType);

                      obWord.GetType().InvokeMember(«Visible», BindingFlags.SetProperty, null, obWord, new object[] { true });

                      obDoc = obWord.GetType().InvokeMember(«Documents», BindingFlags.GetProperty, null, obWord, null);

                      obDocWord = obDoc.GetType().InvokeMember(«Add», BindingFlags.InvokeMethod, null, obDoc, argsShablon); //Если используется готовый документ

                      obDocWord = obDoc.GetType().InvokeMember(«Add», BindingFlags.InvokeMethod, null, obDoc, null);  //Новый документ

                      Marshal.ReleaseComObject(obWord);

                      Marshal.ReleaseComObject(obDocWord);

                      Marshal.ReleaseComObject(obDoc);

                      GC.GetTotalMemory(true);

                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                    0 пользователей:

                    • Предыдущая тема
                    • .NET: Общие вопросы
                    • Следующая тема

                    Рейтинг@Mail.ru

                    [ Script execution time: 0,0627 ]   [ 16 queries used ]   [ Generated: 17.04.23, 04:29 GMT ]  

                    Ципихович Эндрю

                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    1

                    18.10.2013, 17:23. Показов 6966. Ответов 28

                    Метки нет (Все метки)


                    Студворк — интернет-сервис помощи студентам

                    здравствуйте, есть код

                    Visual Basic
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    
                    Option Explicit
                     
                    Public ObjectWord As Word.Application
                     
                    Sub Main()
                     
                        Set ObjectWord = ThisDocument.Application
                        
                        ObjectWord.ScreenUpdating = False
                     
                        With ObjectWord.Selection.Fields(1).Code
                            If .Text = "MACROBUTTON marr-not-marr marr" Then
                                .Text = "MACROBUTTON marr-not-marr not marr"
                            Else
                                .Text = "MACROBUTTON marr-not-marr marr"
                            End If
                        End With
                        
                        ObjectWord.ScreenUpdating = True
                     
                    End Sub

                    на строке
                    ObjectWord As Word.Application — определяемый пользователем тип не определён
                    как его определять? Спасибо

                    Добавлено через 44 минуты

                    Visual Basic
                    1
                    2
                    
                    'при раннем связывании надо сначала подключить соответствующую библиотеку в референсах
                    'Проект > Ссылки > Microsoft Office 11.0 Object Library > выбрать > ОК

                    какую надо?



                    0



                    Programming

                    Эксперт

                    94731 / 64177 / 26122

                    Регистрация: 12.04.2006

                    Сообщений: 116,782

                    18.10.2013, 17:23

                    28

                    Апострофф

                    Заблокирован

                    18.10.2013, 17:25

                    2

                    Ципихович Эндрю, нам предлагаете догадаться, в какой среде вы запускаете этот код?



                    0



                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 17:44

                     [ТС]

                    3

                    неа, просто у меня кругозор маленький… далее Visual Basic не юзаю, извините меня пожалуйста

                    Добавлено через 17 минут
                    дык — Microsoft Word 11.0 Object Library
                    и тогда пошло поехало, ThisDocument — тыщу раз меня к этому приучают, ну не взлетает….???
                    а я упираюсь ActiveDocument и взлетаю
                    ну почему мне пишут то, что не работает — ThisDocument — чем Вам это прельщает??



                    0



                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 17:46

                    4

                    Set ObjectWord = ThisDocument.Application

                    Ну такое пройдёт разве что в макросе ворда, но никак не VB6

                    Добавлено через 1 минуту
                    В бейсике должен работать исключительно с объектом ObjectWord



                    0



                    Ципихович Эндрю

                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 17:50

                     [ТС]

                    5

                    Цитата
                    Сообщение от Ципихович Эндрю
                    Посмотреть сообщение

                    ThisDocument — тыщу раз меня к этому приучают, ну не взлетает….???

                    и как писать
                    ???

                    Добавлено через 2 минуты

                    Цитата
                    Сообщение от Ципихович Эндрю
                    Посмотреть сообщение

                    и как писать

                    Visual Basic
                    1
                    
                    Set ObjectWord = ActiveDocument.Application

                    так, да??



                    0



                    Alex77755

                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 17:52

                    6

                    Изначально док надо открыть или создать?
                    Я имею в виде что это для VB6

                    Добавлено через 35 секунд
                    Создать:

                    Visual Basic
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    
                    Private Sub Command1_Click()
                    'Creating a new object
                    Set objWord = New Word.Application
                    objWord.Visible = True
                    'Creating a new document
                    Set objDoc = objWord.Documents.Add
                    End Sub

                    Добавлено через 45 секунд
                    Объявления глобально:

                    Visual Basic
                    1
                    2
                    
                    Dim objWord As Word.Application
                    Dim objDoc As Word.Document

                    Добавлено через 34 секунды
                    Открыть:

                    Visual Basic
                    1
                    2
                    3
                    4
                    
                    Private Sub Command5_Click()
                      Set objWord = Word.Application
                      Set objDoc = objWord.Documents.Open(App.Path & "HI.doc")
                    End Sub



                    1



                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 17:54

                     [ТС]

                    7

                    а активный как в разработку брать?



                    0



                    Alex77755

                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 17:59

                    8

                    Там что-то типа Create вроде
                    Не работал. Примеры попадались

                    Добавлено через 2 минуты

                    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
                    
                    'Открытие документа
                     Function OpenDocum()
                    Dim NumPart As Integer
                    Err.Clear
                     
                    'Смена стрелки мышки на часы
                    Screen.MousePointer = 11
                     
                    On Error GoTo Notloaded
                     
                    'Проверка на открытие WORD - а
                        Set MyWord = GetObject(, " Word.Application")
                     
                    Notloaded:
                    'Если Word не открыт
                     If Err.Number = 429 Then
                    ' Открытие WORD - а
                    Set MyWord = CreateObject("Word.Application")
                        ElseIf Err.Number <> 0 Then
                    'Выдается сообщение об ошибке
                    MsgBox Err.Description & vbCrLf & "Error"
                    Screen.MousePointer = 0
                            Exit Function
                        End If
                    'Отменяется показ документа на экране, все будет происходить невидимо для пользователя
                    MyWord.PrintPreview = False
                     
                    'Открытие стандартного документа,созданного мной, как  document1 или document2……
                     
                    MyWord.Documents.Add "c:blank.doc", False
                     
                    'Преход в функцию для печати необходимого текста вдокумент
                    PrintReportinWord
                     
                    End Function



                    0



                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 18:00

                     [ТС]

                    9

                    спасибо, чтобы не гадать может кто другой…



                    0



                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 18:01

                    10

                    Значит GetObject



                    0



                    Ципихович Эндрю

                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 19:35

                     [ТС]

                    11

                    ну не прёт

                    Visual Basic
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    
                    Option Explicit
                     
                    'при раннем связывании надо сначала подключить соответствующую библиотеку в референсах
                    'Проект > Ссылки > Microsoft Word 11.0 Object Library > выбрать > ОК
                    'объявляем глобально для видимости во всём проекте
                    Dim objWord As Word.Application
                    Dim objDoc As Word.Document
                     
                    Sub Main()
                     
                        Set objWord = Word.Application
                        Set objDoc = GetObject(, " Word.Application")
                        
                        objDoc.ScreenUpdating = False
                     
                        MsgBox$ objDoc.Fields.Count
                            
                        objDoc.ScreenUpdating = True
                     
                    End Sub

                    Добавлено через 16 минут

                    Цитата
                    Сообщение от Ципихович Эндрю
                    Посмотреть сообщение

                    Set objDoc = GetObject(, » Word.Application»)

                    главное ошибка 429 компонет активХ не может

                    создать

                    объект

                    Добавлено через 1 час 9 минут
                    Ворд открыт, но если так

                    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
                    
                    Option Explicit
                     
                    'при раннем связывании надо сначала подключить соответствующую библиотеку в референсах
                    'Проект > Ссылки > Microsoft Word 11.0 Object Library > выбрать > ОК
                    'объявляем глобально для видимости во всём проекте
                    Dim objWord As Word.Application
                    Dim objDoc As Word.Document
                     
                    Sub Main()
                     
                    On Error GoTo Notloaded
                     
                    'Проверка на открытие WORD'а
                        Set objDoc = GetObject(, " Word.Application")
                     
                    Notloaded:
                    'Если Word не открыт
                     If Err.Number = 429 Then
                    'Открытие WORD'а
                    Set objDoc = CreateObject("Word.Application")
                    End If
                             
                        objDoc.ScreenUpdating = False
                     
                        MsgBox$ objDoc.Fields.Count
                            
                        objDoc.ScreenUpdating = True
                     
                    End Sub

                    тогда на строке

                    Visual Basic
                    1
                    
                    Set objDoc = CreateObject("Word.Application")

                    ошибка 13 — несоответствие типов



                    0



                    Alex77755

                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 19:46

                    12

                    Visual Basic
                    1
                    2
                    3
                    4
                    5
                    
                    Dim MyWord
                    Dim D As Object
                     
                        Set MyWord = GetObject(, "Word.Application")
                    Set D = MyWord.ActiveDocument

                    Добавлено через 39 секунд
                    D = открытому доку



                    0



                    Ципихович Эндрю

                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 20:10

                     [ТС]

                    13

                    спасибо пока проверю

                    Добавлено через 14 минут
                    ну не пошло

                    Visual Basic
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    
                    Option Explicit
                     
                    'при раннем связывании надо сначала подключить соответствующую библиотеку в референсах
                    'Проект > Ссылки > Microsoft Word 11.0 Object Library > выбрать > ОК
                    'объявляем глобально для видимости во всём проекте
                    Dim objAsWordApplication As Word.Application
                    Dim objAsWordDocument As Word.Document
                    Dim objAsObject As Object
                     
                    Sub Main()
                     
                     Set objAsWordApplication = Word.Application
                     Set objAsWordDocument = GetObject(, "Word.Application")
                     Set objAsObject = objAsWordDocument.ActiveDocument
                     
                        objAsObject.ScreenUpdating = False
                     
                        MsgBox$ objAsObject.Fields.Count
                            
                        objAsObject.ScreenUpdating = True
                     
                    End Sub

                    всё тоже несоответствие типов

                    Visual Basic
                    1
                    
                    Set objAsWordDocument = GetObject(, "Word.Application")



                    0



                    es geht mir gut

                    11264 / 4746 / 1183

                    Регистрация: 27.07.2011

                    Сообщений: 11,437

                    18.10.2013, 20:14

                    14

                    Цитата
                    Сообщение от Ципихович Эндрю
                    Посмотреть сообщение

                    Dim objAsWordDocument As Word.Document

                    К чему эти подробности? As Object вполне хватит.



                    1



                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 20:21

                     [ТС]

                    15

                    вроде пошло, а тут objAsObject.ScreenUpdating = False ошибки 438 ещё никогда не было — объект не поддерживает это свойство или метод



                    0



                    Alex77755

                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 21:21

                    16

                    As Object вполне хватит

                    При раннем связывании, вроде, как помогает с синтаксисом. ошибаюсь?

                    Добавлено через 12 минут

                    As Object вполне хватит.

                    можно даже вообще не объявлять тип!
                    Работает и так!

                    Visual Basic
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    
                    Private Sub Комманда1_Click()
                    Dim MyWord
                    Dim D
                     Set MyWord = GetObject(, "Word.Application")
                    Set D = MyWord.ActiveDocument
                     MyWord.ScreenUpdating = False
                     Debug.Print MyWord.ScreenUpdating
                    End Sub

                    Добавлено через 2 минуты
                    А если закомментить Option Explicit, то вообще:

                    Visual Basic
                    1
                    2
                    3
                    
                    Private Sub Комманда1_Click()
                    Set MyWord = GetObject(, "Word.Application"): Set D = MyWord.ActiveDocument: MyWord.ScreenUpdating = False
                    End Sub



                    0



                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 21:24

                     [ТС]

                    17

                    как насчёт
                    ошибка 4248 Данная команда не доступна, так как не открыт ни один документ
                    ОН ОТКРЫТ



                    0



                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 21:38

                    18

                    Так определись сначала: есть ли открытый документ?

                    Если открыт, то проверь в диспетчере задач сколько открыто вордов.
                    Сначала закрой все.
                    Потом открой свой доумент и запусти программу



                    1



                    1508 / 478 / 56

                    Регистрация: 10.04.2009

                    Сообщений: 8,008

                    18.10.2013, 21:40

                     [ТС]

                    19

                    Цитата
                    Сообщение от Alex77755
                    Посмотреть сообщение

                    Сначала закрой все.

                    это обязательно, без этого почему никак?

                    Добавлено через 34 секунды

                    Цитата
                    Сообщение от Alex77755
                    Посмотреть сообщение

                    Так определись сначала: есть ли открытый документ?

                    ну глазам то я верю — есть открытый



                    0



                    11483 / 3774 / 677

                    Регистрация: 13.02.2009

                    Сообщений: 11,148

                    18.10.2013, 21:44

                    20

                    По идее можно попробовать программно проверить: если в объекте нет документов, то закрыть его и снова запустить Get. Но это уже для самостоятельной разработки

                    Добавлено через 1 минуту
                    По тому, что программа находит приложение любое ворд. А в нём может не быть документов

                    Добавлено через 1 минуту
                    Может быть открыто несколько екземпляров ворда
                    А твой док не известно в каком.



                    1



                    Вам необходимо добавить ссылку на библиотеку объектов Microsoft Word (находится в разделе «Параметры проекта» -> «Ссылки» -> «Добавить новую ссылку», а затем на вкладке «Ссылка на COM»).

                    Делая это, в дополнение к вашему текущему Imports заявления, должны позаботиться об этом.

                    Обратите внимание, что после добавления ссылки, оставаясь на странице ссылок в свойствах вашего проекта, вы можете прокрутить список импортированных пространств имен и установить флажок рядом с Microsoft.Office.Interop.Word и не нужно добавлять Imports заявления (хотя это все еще хорошая идея использовать их, для удобства чтения).

                    Кроме того, как Пол упомянул в комментариях выше, вам понадобится Word, установленный на компьютере, на котором вы разрабатываете, и на любом компьютере, на котором запущена ваша программа (не можете открыть Word, если его там нет!).

                    Как автоматизировать Word из Visual Basic .NET для создания нового документа

                  • Hi Paw,

                    Welcome to MSDN forums!

                    You can try Late Binding at runtime to create the component instance/object, which will make your application automatically reference to the new version of the component.


                    Late Binding means that you don’t need to Add Reference COM component to your project and Import namespace at design time. It will determine the latest version of COM component to create instance at runtime.

                    Take Word Automation for example:

                            ‘ Create a Word Application instance via late binding

                            Dim oWord As Object = CreateObject(«Word.Application»)


                          
                    ‘ Create Word Application via early binding

                    Imports Microsoft.Office.Interop.Word

                            Dim oWord As Word.Application = New Word.Application


                    Some
                    tutorials:
                        Writing Automation clients for multiple Office versions
                           http://support.microsoft.com/kb/244167

                    Using early binding and late binding in Automation
                           http://support.microsoft.com/kb/245115

                    Trackback: http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/a0d3183d-3ce5-449d-b67d-1fb631a29b23

                    Best regards,
                    Martin Xie


                    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

                    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.

                    • Marked as answer by

                      Friday, November 27, 2009 3:24 AM

                  • Я не могу открыть документ Microsoft Word на vb.net. У меня есть следующий импорт:

                    Imports Microsoft.Office
                    Imports Microsoft.Office.Core
                    Imports Microsoft.Office.Interop.Word
                    

                    Когда я пытаюсь вызвать Word в своем коде, я получаю следующую ошибку:

                    Тип Word.Application не определен

                    Dim appWord As New Word.Application
                    Dim docWord As New Word.Document
                    

                    Мне нужно скачать библиотеку или что-то еще?

                    2 ответа

                    Лучший ответ

                    Вам необходимо добавить ссылку на библиотеку объектов Microsoft Word (находится в разделе «Параметры проекта» -> «Ссылки» -> «Добавить новую ссылку», затем выбрав вкладку «Ссылка на COM»).

                    Это должно позаботиться об этом в дополнение к вашим текущим операторам Imports.

                    Обратите внимание, что после добавления ссылки, все еще находясь на странице ссылок в свойствах проекта, вы можете прокрутить список импортированных пространств имен и установить флажок рядом с Microsoft.Office.Interop.Word и не должны добавлять операторы Imports ( хотя по-прежнему рекомендуется использовать их для удобства чтения).

                    Кроме того, как Пол упомянул в комментариях выше, вам понадобится установленный Word на машине, на которой вы разрабатываете, и на любой машине, на которой выполняется ваша программа (нельзя открыть Word, если его там нет!).

                    Как автоматизировать Word из Visual Basic .NET для создания нового документа


                    1

                    RianBattle
                    10 Авг 2015 в 15:16

                    Если у вас есть

                    Imports Microsoft.Office.Interop.Word
                    

                    Но нет

                    Imports Microsoft.Office.Interop
                    

                    Он сообщит, что Word.Application не определен.

                    Так что либо измените импорт на

                    Imports Microsoft.Office.Interop
                    

                    Или измените экземпляр на

                    Dim appWord as New Application
                    


                    2

                    Andrew Mortimer
                    10 Авг 2015 в 14:49

                    Понравилась статья? Поделить с друзьями:
                  • Тип shape в excel
                  • Тип range vba excel
                  • Тип date vba excel
                  • Технология экономических расчетов средствами ms excel
                  • Технология форматирования текстового документа microsoft word