Объединить таблицы в одну книгу с макросом VBA Excel; Проблемы с macOS? [Дубликат]

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

Иногда вы можете просто забыть инициализировать .

Отредактировано: new не может вернуть значение null, но исключение огня при ошибке. Давно это было на некоторых языках, но не больше. Спасибо @John Saunders за указание на это.

13
задан VMO 6 April 2012 в 16:32
поделиться

3 ответа

Для ответа выше, он работал для меня, когда я вынул «ТЕКСТ» в MacID:

Sub LoopThruFiles()

    Dim mydir As String
    Dim foldercount As Integer
    Dim Subjectnum As String
    Dim strpath As String
    Dim strfile As String

    ChDir "HD:Main Folder:"
    mydir = "HD:Main Folder:"
    SecondaryFolder = "Folder 01:"
    strpath = mydir & SecondaryFolder

    strfile = Dir(strpath)

    'Loop through each file in the folder
    Do While Len(strfile) > 0
     If Right(strfile, 3) = "cef" Then
        MsgBox (strfile)
        End If
        strfile = Dir
    Loop
End Sub
0
ответ дан Adam 4 September 2018 в 09:04
поделиться

Gianna, вы не можете использовать DIR, как в VBA-EXCEL 2011. Я имею в виду, что подстановочные знаки не поддерживаются. Вы должны использовать MACID для этой цели.

См. Этот пример кода (TRIED AND TESTED)

Sub Sample()
    MyDir = ActiveWorkbook.Path
    strPath = MyDir & ":"

    strFile = Dir(strPath, MacID("TEXT"))

    'Loop through each file in the folder
    Do While Len(strFile) > 0
        If Right(strFile, 3) = "csv" Then
            Debug.Print strFile
        End If

        strFile = Dir    
    Loop
End Sub

См. Эту ссылку для получения дополнительной информации о MACID

Тема: Функция MacID

Ссылка: http://office.microsoft.com/en-us/access-help/macid-function-HA001228879.aspx

EDIT:

Если эта связь когда-либо умирает, я сомневаюсь, вот выдержка.

Функция MACID

Используется на Macintosh для преобразования 4-значной константы в значение, которое может использоваться Dir, Kill, Shell и AppActivate.

Синтаксис

MacID (постоянный )

Требуемый константный аргумент состоит из 4-х символов, используемых для указания типа ресурса, типа файла, подписи приложения или события Apple, например, TEXT, OBIN, «XLS5» для файлов Excel («XLS8») для Excel 97), Microsoft Word использует «W6BN» («W8BN» для Word 97) и т. д.

Примечания

MacID используется с Dir и Kill для указания Macintosh тип файла. Поскольку Macintosh не поддерживает * и? в качестве подстановочных знаков вы можете использовать четырехсимвольную константу, чтобы идентифицировать группы файлов. Например, следующий оператор возвращает файлы типа TEXT из текущей папки:

Dir («SomePath», MacID («ТЕКСТ»))

MacID используется с Shell и AppActivate для укажите приложение, использующее уникальную подпись приложения.

HTH

19
ответ дан Siddharth Rout 4 September 2018 в 09:04
поделиться
If Dir(outputFileName) <> "" Then
Dim ans
ans = MsgBox("File already exists.Do you wish to continue(the previous file will be    deleted)?", vbYesNo)
If ans = vbNo Then
Exit Sub
Else
Kill outputFileName
End If
End If

For listitem = 0 To List6.ListCount() - 1
0
ответ дан user1934049 4 September 2018 в 09:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: