Введите несоответствие слова - PullRequest
0 голосов
/ 21 мая 2018
Private Sub RunSpellCheckOnSelection()

    MsgBox "Running check..."

    Dim wbDictionaryCollection As Excel.Workbook
    Dim wsDictionary           As Excel.Worksheet
    Dim rngWords               As Excel.Range

    Set wbDictionaryCollection = appExcel.Workbooks.Open(Application.ActiveDocument.Path & "\Dictionary.xlsx")
    Set wsDictionary = wbDictionaryCollection.Worksheets(strLanguage)
    Set rngWords = wsDictionary.Range("A1").CurrentRegion

    Dim PUNCTUATION As String
    PUNCTUATION = ".,:;'!?/\@#$%^&*(){}[]-_=+|<>`~" & Chr(13)

    Dim blnWordFound As Boolean

    Dim nDictionaryWords As Long
    Dim iDictionaryWord As String

    Dim nWords As Long
    Dim iWord  As Long

    Dim nPunctuation As Long
    Dim iPunctuation As Long

    nDictionaryWords = rngWords.Rows.Count
    nWords = Selection.words.Count
    nPunctuation = Len(PUNCTUATION)

    ' For every word in selection:
    For iWord = 1 To nWords

            ' Check if the word is in the dictionary:
            blnWordFound = False

            For iDictionaryWord = 1 To nDictionaryWords
                    ''''''''
                    If Selection.words(iWord).Text = Mid$(rngWords.Cells(iDictionaryWord, 1), 1, Len(rngWords.Cells(iDictionaryWord, 1) - 2)) Then

Эта строка дает мне ошибку несоответствия типов, и я не понимаю, что здесь не так ..

Я отредактировал и добавил остальную часть кода!И я получаю ошибку ошибки типа в функции Mid

1 Ответ

0 голосов
/ 25 мая 2018

В этом операторе есть две отдельные синтаксические ошибки, и каждая из них повторяется.

Во-первых, свойство Cells объекта Range возвращает объект Cell, а не строку.Это вызывает ошибку несоответствия типов.Чтобы исправить это, используйте rngWords.Cells (...). Range.Text в обоих местах.

Первая ошибка скрывает вторую ошибку: свойство Cells диапазона принимает одно число типа Long какего аргумент, но вы указали два числа.Если вы нажмете «Отладка»> «Компилировать проект», он выделит слово «Ячейки» и объяснит «Ошибка компиляции: неверное количество аргументов или неправильное присвоение свойства».Я не могу сказать, что вы ожидали от ", 1", но его там не должно быть.

...