1

Я попытался использовать приведенный ниже код для программы Excel на своем Mac Mac с использованием OS X версии 10.7.2, и он продолжает говорить Ошибка из-за имени / пути файла: (Файл Excel, который я создаю, будет шаблоном с моим установлены формулы и макросы, которые будут использоваться снова и снова).

Sub CreateFile()
Do While Not IsEmpty(ActiveCell.Offset(0, 1))
    MyFile = ActiveCell.Value & ".txt"
    fnum = FreeFile()
    Open MyFile For Output As fnum
    Print #fnum, ActiveCell.Offset(0, 1) & " " & ActiveCell.Offset(0, 2)
Close #fnum
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Что я пытаюсь сделать:

1-я цель

  1. Я хотел бы иметь следующие данные, которые будут использоваться для создания текстового файла. A:A - это то, что мне нужно, чтобы имя файла было. B:2 - это содержание, которое мне нужно в текстовом файле.

    Итак, A2 - "repair-video-game-Glassboro-NJ-08028.txt" - это имя файла, а B2 - его содержимое. Далее, A3 - это имя файла, а B3 - это содержимое файла и т.д. РАЗ. Содержимое считывает содержимое ячеек A16 и B16 (длина будет меняться), создание файла должно быть остановлено, если нет, то я могу удалить дополнительные файлы. создано.

  2. Этот лист никогда не изменится. Есть ли способ установить макрос Excel, чтобы всегда переходить на этот лист вместо того, чтобы выбирать его с помощью мыши, чтобы определить начальную точку?

2-я цель

  1. Я хотел бы иметь следующие данные, которые будут использоваться для создания текстового файла. A:1 - это то, что мне нужно, чтобы имя файла было. B:B - это содержимое, которое я хочу в файле.

    Итак, A2 - это имя файла «geo-sitemap.xml», а B:B - содержимое файла (игнорируйте расширение файла .xml на фотографии). ОДНАЖДЫ ячейка содержимого считывает, что находится в ячейке "B16" (длина будет изменяться), создание файла должно быть остановлено, если нет, то я могу настроить ячейки, для которых необходимо содержимое (сформулированное содержимое, которое вы видите на изображении, предварительно установлено на 500 строк),

  2. Этот лист никогда не изменится. Есть ли способ установить макрос Excel, чтобы всегда переходить на этот лист вместо того, чтобы выделять его мышью, чтобы определить начальную точку?

Я могу предоставить содержимое в ячейках, заполненных формулами Excel, которые не должны быть включены в файлы .txt. Это нормально, если это невозможно. Я могу удалить лишние ячейки, которые не заполнены (на основе таблицы данных).

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или ясность, и я буду рад предоставить ее.

1 ответ1

1

Вот код, который я использую. Он настроен на запуск с любой страницы (так как вам не нужно быть на странице, установите страницу в коде)

Sub CreateFile_KML()

Dim shtKML As Worksheet

Set shtKML = ThisWorkbook.Sheets("KML")

i = 2

    Do While Not IsEmpty(shtKML.Cells(i, 2))
        MyFile = "Macintosh HD:Users:cherryredspyder:Desktop:Testting:" & shtKML.Cells(i, 1).Value
        fnum = FreeFile
        Open MyFile For Output As fnum
        Print #fnum, shtKML.Cells(i, 2).Value
        Close fnum
        i = i + 1
    Loop

End Sub

Длина файла не должна превышать 32 символа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .