Как исправить ошибку, определяемую приложением или объектом - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь преобразовать файл Excel в текстовый файл, но каждый раз, когда я запускаю код, я получаю сообщение «Ошибка приложения или объекта»

Заранее спасибо !!!!!

Sub ExceltoText()
    `Declaration
    Dim FileName As String, sLine As String, Deliminator As String
    Dim LastCol As Integer, LastRow As Integer, FileNumber As Integer

    `Location and File Name
    FileName = "C:\Users\Admin\Documents\New folder\ExceltoText.txt"
    Deliminator = "|"
    LastCol = ActiveSheet.Cells.SpecialCells(xlcelltypelast).Column
    LastRow = ActiveSheet.Cells.SpecialCells(xlcelltypelast).Row
    FileNumber = FreeFile

    `To create txtfile
    Open FileName For Output As FileNumber

    `To read data from excel
    For i = 1 To LastRow
    For j = 1 To LastCol
    If j = LastCol Then
    sLine = sLine & Cells(i, j).Value
    Else
    sLine = sLine & Cells(i, j).Value & Deliminator
    End If
    Next j

    `Wrighting data
    Print #FileNumber, sLine
    sLine = ""
    Next i
    Close #FileNumber
    MsgBox "The text file has been generated"

End Sub

1 Ответ

1 голос
/ 27 марта 2019

Вы получаете ошибку из-за

LastCol = ActiveSheet.Cells.SpecialCells(xlcelltypelast).Column
LastRow = ActiveSheet.Cells.SpecialCells(xlcelltypelast).Row

Нет такой константы, как xlcelltypelast. Что вам нужно, это xlCellTypeLastCell

Я бы рекомендовал читать по Range.SpecialCells метод (Excel)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...