Dim oword as word application ошибка

Как устранить ошибку: "user-defined type not defined"? VBA Решение и ответ на вопрос 894442

nataxa777

0 / 0 / 0

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

Сообщений: 26

1

07.06.2013, 14:12. Показов 41124. Ответов 3

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


user-defined type not defined — эта ошибка возникает тогда из Excel должен создаться документ отчета у Word, а при запуске на исполнение на первой строчке нижнего примера возникает ошибка.
Вот фрагмент (сам код большой и это пример из книжки). Помогите пожалуйста разобраться в чем ошибка и как ее устранить?

Visual Basic
1
2
3
Dim oWord As Word.Application
Set oWord = CreateObject("Word.Application")
oWord.Visible = True

Заранее благодарна!!!

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Pavel55

971 / 353 / 135

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

Сообщений: 764

07.06.2013, 15:51

2

Visual Basic
1
2
Dim oWord As Object
Set oWord = CreateObject("Word.Application")



1



0 / 0 / 0

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

Сообщений: 26

07.06.2013, 16:09

 [ТС]

3

Pavel55, спасибо Вам огромное!!! все получилось



0



Hugo121

6874 / 2806 / 533

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

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

18.02.2016, 22:15

4

Кстати, если уж исправлять ошибки книжек, то можно ещё и так:

Visual Basic
1
2
Dim oWord As New Word.Application
oWord.Visible = True

Но! Сперва подключите библиотеку Ворда в Tools->References!



0



Обзор

При использовании оператора New или функции CreateObject в Microsoft Visual Basic для создания экземпляра приложения Microsoft Office, может появиться следующее сообщение об ошибке:

Ошибка выполнения ‘429’: компоненту ActiveX не удается создать объект

Эта ошибка возникает, когда запрошенный объект автоматизации не может быть создан с помощью COM и, следовательно, является недоступным для Visual Basic. Сообщение об ошибке обычно отображается на определенных компьютерах, но не другие.

Эта статья содержит советы по устранению неполадок для диагностики и устранения неполадок, вызывающих возникновение этой ошибки.

Дополнительные сведения

В отличие от некоторых ошибок в Visual Basic нет не одной из причин об ошибке 429. Проблема возникает из-за ошибки в конфигурации системы или приложения или компонента отсутствует или поврежден. Поиск точная причина заключается в возможности устранения. При возникновении этой ошибки на клиентском компьютере, существует ряд вещей, которые необходимо проверить для выявления и устранения ошибки.

Позже, элементы предоставляют некоторые практические советы по устранению данной ошибки при работе с приложениями Office. Часть этой информации также относится к серверам Microsoft Office COM также, но в данной статье предполагается, что вы пытаетесь автоматизации Microsoft Office.

Проверка кода

Первое место, чтобы начать поиск проблемы — в коде. До устранения ошибки, необходимо знать, где произошла ошибка. Попробуйте сузить до одной строки кода.

Найдя код, который не удается, попробуйте сделать следующее:

  • Убедитесь, что в коде используется явное создание объекта. Любые проблемы проще найти и определить, если проблема сведена до отдельного действия. Например не выполните следующее:

    Application.Documents.Add 'DON'T USE THIS!!

    или:

    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add

    Оба эти метода используется неявное создание объекта. Microsoft Word не начинается, пока переменная называется по крайней мере один раз. Поскольку переменная может вызываться в разных частях программы, это может сделать проблему трудно локализовать. Кроме того неясно, связана ли проблема с созданием объекта приложения или объекта документа.

    Вместо этого указать явные вызовы для создания каждого объекта в отдельности:

    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add

    Это упрощает выявление проблемы и делает код более удобным для чтения.

  • При создании экземпляра приложения Microsoft Office, используйте вместо New CreateObject . CreateObject более точно соответствует процесс создания, используемый большинство клиентов Visual C++ и позволяет возможные изменения CLSID сервера между версиями. Функция CreateObject можно использовать с объектами с ранним связыванием и поздним связыванием.

  • Проверьте правильность строки ProgID, передаваемые CreateObject , а также является независимость от версии (то есть использовать «Excel.Application» вместо «Excel.Application.8»). Возможно, что система, которую дает сбой имеет более старой или новой версии Microsoft Office до версии, указанной в идентификатор ProgID.

  • Для упрощения отладки приложений, которые не запускаются в Интегрированной среде разработки, команда Erl сообщить номер строки, который не проходит. Например следующий код сообщит, какой объект автоматизации невозможно (Word или Excel):

    Dim oWord As Word.Application
    Dim oExcel As Excel.Application

    On Error Goto err_handler

    1: Set oWord = CreateObject("Word.Application")
    2: Set oExcel = CreateObject("Excel.Application")

    ' ... some other code

    err_handler:
    MsgBox "The code failed at line " & Erl, vbCritical

    Используйте сочетание окон сообщений и номеров строк для отслеживания ошибки.

  • Попробуйте использовать позднее связывание (то есть Dim oWordApp как объект). Объекты с ранней привязкой требуют их настраиваемые интерфейсы были переданы через границы процессов. Если маршалинг пользовательского интерфейса во время CreateObject или Создатьпроблемы, вы получите сообщение об ошибке 429. Позднее присоединенного объекта использует определенный системой интерфейс (IDispatch), не требуется настраиваемый прокси для маршалинга. Попробуйте использовать позднее присоединенного объекта для просмотра, если это делает разницу.

    Если проблема возникает только в том случае, когда объект является раннее связывание, проблема связана с серверного приложения и обычно можно исправить путем переустановки приложения (см. ниже).

  • При автоматизации из ASP или компонента MTS используйте CreateObject вместо Server.CreateObject(). Используя Server.CreateObject будет создан экземпляр приложения Office с использованием идентификатора пакета MTS, который приводит к проблемам с Microsoft Office.

Проверка сервера автоматизации

Самые распространенные причины возникновения ошибки CreateObject или New , проблем с самим приложением сервера. Как правило эти проблемы являются конфигурации или установки приложения. Ниже приведены некоторые элементы для проверки.

  • Проверьте Microsoft Office, приложение, которое требуется автоматизация установлена на локальном компьютере и убедитесь в том, что можно запустить приложение с самого начала и запустить диалоговое окно. Если программа не может быть запущена вручную, он не будет работать через автоматизацию.

  • Перерегистрируйте приложение, введя путь к серверу в начале и затем запустить диалоговое окно и затем добавить к концу строки/regserver . Нажмите кнопку ОК. Это без вмешательства пользователя необходимо запустить приложение и повторно зарегистрировать его как COM-сервер. Если неполадка связана с раздел реестра отсутствует, это обычно будет исправить.

  • Проверьте LocalServer32 в разделе CLSID для приложения, которое требуется автоматизация. Убедитесь, что он указывает на правильное расположение приложения и убедитесь, что указан путь в формате короткого пути (DOS 8.3). Хотя он не является обязательным требованием, на сервере будет зарегистрирован с помощью краткого пути, длинные имена путей, включающие пробелы известны возникновение проблем в некоторых системах (см. ниже).

    Чтобы проверить раздел пути, хранящиеся на сервере, запустите редактор реестра Windows, введя команду regedit в начале, а затем запустите диалоговое окно. Перейдите к разделу HKEY_CLASSES_ROOTClsid. В этом разделе вы найдете CLSID для зарегистрированных серверов автоматизации в системе. Позже с помощью значений, найти ключ, представляющий приложение Office требуется Автоматизация и проверьте его раздел LocalServer32 пути.

    +========================+=========================================+
    | Office Server | CLSID Key |
    +========================+=========================================+
    | Access.Application | {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} |
    +————————+——————————————+
    | Excel.Application | {00024500-0000-0000-C000-000000000046} |
    +————————+——————————————+
    | FrontPage.Application | {04DF1015-7007-11D1-83BC-006097ABE675} |
    +————————+——————————————+
    | Outlook.Application | {0006F03A-0000-0000-C000-000000000046} |
    +————————+——————————————+
    | PowerPoint.Application | {91493441-5A91-11CF-8700-00AA0060263B} |
    +————————+——————————————+
    | Word.Application | {000209FF-0000-0000-C000-000000000046} |
    +————————+——————————————+
    Соответствует ли путь фактическое расположение файла? Имейте в виду, что в короткое имя создать впечатление, что путь указан правильно, когда он не может быть. Например Microsoft Office и Microsoft Internet Explorer (если он установлен в расположениях по умолчанию) будет иметь короткий путь «C:PROGRA~1MICROS~X» где X — некоторое число. Это не очевидно, что вы находитесь на короткое имя.

    Можно проверить правильность пути действительно скопировать значение из реестра и вставки в начало, а затем диалоговое окно Запуск (удалить переключатель/Automation до запуска приложения). Запускается ли приложение при нажатии кнопки ОК? Если Да, сервер зарегистрирован правильно. Если нет, следует заменить значение раздела LocalServer32 на правильный путь (используйте краткий путь, если это возможно).

  • Известны проблемы возникает при автоматизации Word или Excel, если шаблон Normal.dot (Word) или файл ресурсов Excel.xlb (Excel), был поврежден. Чтобы проверить, если произошло повреждение, поиск локальных жестких дисков для поиска всех экземпляров Normal.dot или *.xlb. (Обратите внимание, что при запуске Windows 2000, Windows NT или Windows 95 или Windows 98 с включенными профилями, может оказаться несколько копий этих файлов для каждого профиля пользователя в системе.) Временно переименуйте файлы Normal.dot или файлы *.xlb и повторно запустите проверку автоматизации (Word и Excel создаст эти файлы, если они не может их найти). Код теперь работать? Если Да, выберите файлы, которые вы переименовали следует удалить, так как они повреждены. Если это не так, переименуйте их обратно в их исходные имена, будут потеряны все пользовательские параметры, сохраненные в этих файлах.

  • При работе в Windows NT, Windows 2000, Windows XP или Windows Server 2003 система, запустите приложения под учетной записью администратора. Серверов Office требуется доступ на чтение и запись в реестре и на диске и могут не загружаться должным образом, если ваши текущие параметры безопасности запрещают эту привилегию.

Проверка системы

Конфигурация системы также может вызвать проблемы с созданием out-of-process COM-серверов. Ниже приведены несколько советов по проверке систем место возникновения ошибки.

  • Проблема происходит с любым сервером out-of-process? Если у вас есть приложение, которое использует только определенный COM-сервер (например, Word), вы захотите проверить на другой сервер out-of-process, чтобы убедиться, что проблема не связана с COM сам слой. Если нет out-of-process COM-сервера могут быть созданы в этой системе, переустановке системы OLE файлов (см. ниже), или для устранения этой проблемы потребуется переустановка операционной системы.

  • Проверьте номера версий системных файлов OLE, которые управляют автоматизацией. Эти файлы обычно устанавливаются как набор и должно соответствовать номера построений. Неправильно настроенная программа установки может ошибочно установить файлы по отдельности, к ним становятся несоответствие. Чтобы избежать проблем при автоматизации, следует проверять файлы, убедитесь, что файлы совпадают построений.

    Файлы автоматизации можно найти в каталоге WindowsSystem или WinntSystem32. Ниже приведен список файлов для проверки:

    +—————+————-+—————-+
    | File Name | Version | Date Modified |
    +—————+————-+—————-+
    | Asycfilt.dll | 2.40.4275 | March 08, 1999 |
    | Oleaut32.dll | 2.40.4275 | March 08, 1999 |
    | Olepro32.dll | 5.0.4275 | March 08, 1999 |
    | Stdole2.tlb | 2.40.4275 | March 08, 1999 |
    +—————+————-+—————-+
    Проверьте версию файла, щелкните правой кнопкой мыши файл в обозревателе и при выборе свойства из всплывающего меню. Наиболее важные значения, последние четыре цифры в версии файла (номер сборки) и дату последнего изменения. Необходимо убедиться, что эти значения одинаковы для всех файлов автоматизации.

    Обратите внимание, что номера версии и даты, приведенном выше, например исключительно в целях. Значения могут отличаться. Важно, что эти значения соответствуют друг другу, а не в этой таблице.

    Если файлы не соответствуют номера сборок или даты изменений, вы можете загрузить самораспаковывающийся программа обновит файлы автоматизации. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

    290887 VBRun60sp6.exe устанавливает файлы времени выполнения Visual Basic 6.0 SP6

  • Windows NT 4.0 имеет известные проблемы с запуском серверы автоматизации, которые находятся в папке, которая содержит пробелы в имени и напоминает другую папку, совпадают с первыми 8 символами. Например сервер, живущих в C:Program FilesSomeFolder может не запуститься во время вызова к CreateObject, если система называется C:Program StuffSomeFolder другую папку. Дополнительные сведения см в следующей статье базы знаний:Дополнительные сведения об этой проблеме и действия, чтобы избежать этого, щелкните следующий номер статьи базы знаний Майкрософт:

    Ошибка 185126 : COM и OLE-сервер не запускается в Windows NT 4.0

Переустановка Microsoft Office.

Если ни один из предыдущих шагов позволяет устранить проблему, рассмотрите возможность удаления и переустановки Microsoft Office. Корпорация Майкрософт рекомендует сначала удалить существующую версию, а затем переустановите с исходных установочных дисков.

Полный список удаляемых элементов можно найти в следующих статьях базы знаний:

219423 OFF2000: как полностью удалить Microsoft Office 2000

158658 OFF97: как полностью удалить Microsoft Office 97

Ссылки

Дополнительные сведения об устранении неполадок при сообщении об ошибке ‘429’ щелкните следующий номер статьи базы знаний Майкрософт:

240377 HOWTO: Убедитесь в правильности установки Jet 3.5 (часть I)
Последние сведения и примеры кода по автоматизации Microsoft Office можно найти на сайте поддержки Microsoft Online по:

http://support.microsoft.com/ofd

  • Remove From My Forums
  • Question

  • Hello all I’m trying to do a mail merge into Word. When I click on the button I’m getting the a Compile Error

    Please see the code below.

    Private Sub MailMergeButton_Click()
    On Error GoTo Err_MailMergeButton_Click
        Dim objwordApp As Word.Application
        Dim objWordDoc As Word.Document

       
        If AddressAlocationType = 3 Then Exit Sub

       
        Set objwordApp = CreateObject(«objword.application»)
        wordApp.Visible = True
        Select Case [AddressAlocationType]
        Case 1
            Set objWordDoc = wordApp.Documents.Add(«c:databaseW_L_G.dot»)
        Case 2
            Set objWordDoc = wordApp.Documents.Add(«c:databaseW_L_P.dot»)
        Case 3
            Exit Sub
        End Select

       
    Exit_MailMergeButton_Click:
        Exit Sub

    Err_MailMergeButton_Click:
        MsgBox Err.Description
        Resume Exit_MailMergeButton_Click

       
    End Sub

    Can someone be so kind to let me know what I’m doing wrong…

    Many thanks

Answers

  • You need to go in VBE windows, then menu Tools > References > then search for Microsoft Word xx.0 Object Library

    The xx is a Number, which can vary depending on which version of Office you have installed.

    To make use of the Word Object Library, you must have installed Word on your PC, I assume you have.

    You might use Late binding, to avoid using Word Object Library, but thats another topic.


    Daniel van den Berg | Washington, USA | «Anticipate the difficult by managing the easy»

    • Marked as answer by

      Thursday, November 10, 2011 3:26 PM

Here is my code in Form1.vb:

Imports Word = Microsoft.Office.Interop.Word

Public Class Form1

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

    Dim oWord As Word.Application
    Dim oWord1 As Microsoft.Office.Interop.Word.Application
    Dim oWord2 as Application

I’m using VStudio2012 and Office 2010 and following the sample from https://support.microsoft.com/kb/316383

The declaration of oWord is flagged by intellisense as «Type ‘Word.Application’ is not defined,
while oWord1 and oWord2 are accepted. Intellisense provides several error correction options — two of which I’ve tried (oWord1 and oWord2) — the other options don’t seem to apply.

In short, I am confused about why the use of the namespace alias Word on the Imports statement does not satisfy the syntax Dim oWord As Word.Application as described in the KB article. Is there some «master knob» to turn in the project properties dialog or something?

asked Jan 3, 2014 at 19:24

John Adams's user avatar

John AdamsJohn Adams

4,72325 gold badges89 silver badges128 bronze badges

5

You will need to add a reference to import the DLL for this namespace. In Visual Studio 2012, in your solution explorer` right click on the project name > click «Add Reference» > Choose «Assemblies» > «Extensions» > «Microsoft.Office.Interop.Word». There may be multiple version of the Interop Libraries (Office 2003, 2007, 2010, etc), choose the appropriate one.

I believe these assemblies are originally installed when you do your installation of Microsoft Office from the DVD. So you will need to have Word installed I believe.

Edit: this works for me, with Intellisense:

Imports Word = Microsoft.Office.Interop.Word
Module Module1
    Sub Main()
        Dim oWord As Word.Application
    End Sub
End Module

answered Jan 3, 2014 at 19:29

laylarenee's user avatar

4

Instead of ‘Imports Word = Microsoft.Office.Interop.Word’ I used ‘Imports Microsoft.Office.Interop’ and it worked fine

answered Jan 2, 2015 at 11:52

Joe's user avatar

JoeJoe

1,8214 gold badges27 silver badges43 bronze badges

  • Home
  • VBForums
  • Visual Basic
  • Visual Basic .NET
  • [RESOLVED] Warning and Errors when adding Imports Statement

  1. May 9th, 2012, 09:23 PM


    #1

    gborja888 is offline

    Thread Starter


    Junior Member


    Resolved [RESOLVED] Warning and Errors when adding Imports Statement

    I’m trying to add the export to word capability to my code and adding the following to my code gets me some warning and errors. I was able to find a download sample code to do this, however it’s strange, when I run the downloaded code, it didn’t encounter error but I put this together with my code it produced some errors.

    Code:

    Option Explicit On
    Option Strict On
    Imports System.IO
    Imports System.Data
    Imports System.Globalization
    Imports System.Windows.Forms.DataVisualization.Charting
    Imports Microsoft.VisualBasic
    
    Imports Word = Microsoft.Office.Interop.Word  <-- Warning

    <— — warning message is (Namespace or type specified in the Imports ‘Microsoft.Office.Interop.Excel’ doesn’t contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member.)

    Code:

    Private Sub Button1_Click_3(sender As System.Object, e As System.EventArgs) Handles ExpWordButton.Click
            exportToWord(DataGridView1)
        End Sub
    
    Public Sub exportToWord(ByVal dgv As DataGridView)
            Dim oWord As Word.Application = DirectCast(CreateObject("Word.Application"), Word.Application)

    <— Error (Type ‘Word.Application’ is not defined.)

    Why in the standalone code this is ok?

    Last edited by gborja888; May 9th, 2012 at 09:41 PM.


  2. May 9th, 2012, 10:47 PM


    #2

    Re: Warning and Errors when adding Imports Statement

    I would guess that you haven’t added the appropriate reference. I suggest that you follow the Blog link in my signature and check out my post on Referencing Assemblies & Importing Namespaces to learn the difference.


  3. May 9th, 2012, 11:55 PM


    #3

    gborja888 is offline

    Thread Starter


    Junior Member


    Re: Warning and Errors when adding Imports Statement

    I have added the Microsoft Word Object library, it’s working now. Thank you very much for the help jmcilhinney!


  • Home
  • VBForums
  • Visual Basic
  • Visual Basic .NET
  • [RESOLVED] Warning and Errors when adding Imports Statement


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Forum Rules


Click Here to Expand Forum to Full Width

Hello All,

I have some VBA code that I need help refining. The problem I am having is inconsistent and unexplained errors, from my research it appears that the issue is with the clipboard crashing.

How the VBA code works:

I have an embedded Word documents with various bookmarks and reference texts. The bookmarks correspond to named ranges in the Excel workbook. My VBA code opens the embedded Word document, copies the various named ranges in the Excel workbook and pastes the content of the clipboard at the appropriate bookmark in the Word document.

I have a RUN ALL macro set up to create multiple word documents, but it crashes constantly during this process.

I’ve research how to fix this and may have found the answer (Do Loop to retry the copy/paste operation) but as I am very new to VBA I’m not sure how to implement it into my code.

Would greatly appreciate any help with this.

Here is my VBA code:

VBA Code:

Sub Full_policy_document()

    Dim wdApp       As Word.Application
    Dim Wks         As Excel.Worksheet
    Dim wddoc       As Word.Document

    Set Wks = ActiveSheet

    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = False

    Set wddoc = wdApp.Documents.Open(Environ("UserProfile") & "Google DriveSMS TEMPLATES1 POLICIES01 H&S Full Policy Document.docx")

    Call ReplaceWords2(wddoc, Wks, False)
    Call CopyPasteImage2(wddoc, Wks, False) 'switch back to true
    wdApp.Quit
    

    Set wddoc = Nothing
    Set wdApp = Nothing

End Sub



Sub ReplaceWords2(oDoc As Word.Document, Wks As Excel.Worksheet, Optional boolCloseAfterExec As Boolean = True)

    Dim wdRng       As Word.Range
    Dim varTxt      As Variant
    Dim varRngAddress As Variant
    Dim i           As Long

varTxt = Split("cp1,na1,po2,id1,rd1,bd1,an1,ns1,ct1,bc1,pt1,vd1,me1,mc1,po1", ",")
    varRngAddress = Split("C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17", ",")

    For Each wdRng In oDoc.StoryRanges

        With wdRng.Find
            For i = 0 To UBound(varTxt)
                .Text = varTxt(i)
                .Replacement.Text = Wks.Range(varRngAddress(i)).Value
                .Wrap = wdFindContinue
                .Execute Replace:=wdReplaceAll
            Next i
        End With

    Next wdRng

    oDoc.SaveAs2 Environ("UserProfile") & "desktop01 H&S Full Policy Document"
    If boolCloseAfterExec Then
        oDoc.Close
        oDoc.Parent.Quit
    End If

End Sub



Sub CopyPasteImage2(oDoc As Word.Document, Wks As Excel.Worksheet, Optional boolCloseAfterExec As Boolean = True)

    With oDoc
        .Activate

        .ActiveWindow.View = wdNormalView
        Wks.Range("K2:L15").CopyPicture Appearance:=xlScreen, Format:=xlPicture
        .Bookmarks("CompanyLogo").Select
        .Parent.Selection.Paste
        .Parent.Selection.TypeParagraph

        Wks.Range("N11:O15").CopyPicture Appearance:=xlScreen, Format:=xlPicture
        .Bookmarks("ConsulSig").Select
        .Parent.Selection.Paste
        .Parent.Selection.TypeParagraph
        
        Wks.Range("N02:O07").CopyPicture Appearance:=xlScreen, Format:=xlPicture
        .Bookmarks("ClientSig").Select
        .Parent.Selection.Paste
        .Parent.Selection.TypeParagraph
        
         Wks.Range("N02:O07").CopyPicture Appearance:=xlScreen, Format:=xlPicture
        .Bookmarks("ClientSig2").Select
        .Parent.Selection.Paste
        .Parent.Selection.TypeParagraph

        .Save

        If boolCloseAfterExec Then
        oDoc.Close
        oDoc.Parent.Quit
        End If
        
    End With
End Sub

Here is the code I need help implementing.

VBA Code:

      On Error GoTo 0  ' Normal error handling
      Application.CutCopyMode = False   ' Clear clipboard before copy
      Range(excel_range_name).CopyPicture
      n = 1 ' Set counter to 1
      Do Until n > 3 'Attempt paste function three times before falling out
            If n < 3 Then  ' suspend normal error handling
                On Error Resume Next
            Else
                 On Error GoTo 0 ' on last attempt, reinstate normal error handling
            End If
            newWord.Bookmarks(bookmark_name).Range.Characters.Last.Paste   ' Paste into Word
            If Err.Number = 0 Then
                  On Error GoTo 0 'reinstate normal error handling
                  Exit Do   ' Exit if no error encountered
            End If
            n = n + 1  ' Increment counter and repeat the Do Until Loop
            DoEvents
      Loop
       On Error GoTo 0  ' Just to make sure that normal error handling is reinstated

Понравилась статья? Поделить с друзьями:
  • Digsig error not signed
  • Digital signature verification error cannot find object or property quik
  • Digital display audio не подключено windows 10 на ноутбуке как исправить
  • Digi sm 5100 ошибка формата
  • Digi sm 100 ошибка e3