1

Я хотел бы запустить командный файл, который откроет HTML-файл с Excel и впоследствии сохранит открытый HTML-файл в виде документа XLS или XLSX. В идеале партия должна быть запущена ночью. Использование простого кода, подобного приведенному ниже, откроет HTML-документ в Excel

start excel test.html

Где я застрял - это куда идти дальше с кодом. Есть ли у кого-нибудь понимание?

1 ответ1

0

Просто чтобы закрыть этот вопрос:

Решение этой проблемы решается путем написания двух скриптов: первый - это скрипт vba, написанный на Excel и сохраненный в документе xlsm. Второй - это файл .bat, который запустит ранее упомянутый документ xlsm, чтобы запустить скрипт vba, который в конечном итоге преобразует HTML-документ в xlsx.

1-й: в Excel есть две вещи, которые нужно сделать, чтобы создать код VBA, который сохранит HTML-документ как документ XLSX (Давайте назовем это A). Вторым шагом является создание кода VBA, который будет автоматически запускать ранее упомянутый код [предназначенный для сохранения htlm в виде файла Excel и последующего закрытия] (назовем это B).

Код для А

Sub Open_HTML_Save_XLSX()
    Workbooks.Open Filename:="**NameOfHTMLfileHere.HTML"
    ActiveWorkbook.SaveAs Filename:= _
        "**NewName.XLSX", FileFormat:= _
        xlOpenXMLWorkbook
    ActiveWorkbook.Close
End Sub

Вы заметите, что код очень прост. Чтобы подвести итог кода говорит, откройте HTML-документ, сохранить как документ XLSX, закройте рабочую книгу. Код для A идет в раздел для модулей.

Для части B вам потребуется сохранить другой сценарий VBA в разделе «ThisWorkbook» в папке «Объекты Microsoft Excel» для документа xlsm.

Private Sub Workbook_Open()
   Call Open_HTML_Save_XLSX
   Application.Quit
End Sub  

Опять не так сложно. Сценарий просто говорит, что когда вы открываете эту рабочую книгу, запустите сценарий VBA, который выполнит преобразование файла, а затем выйдите из Excel.

Итак, как только документ XLSM настроен, остается только написать пакетный скрипт, чтобы открыть документ XLSM, который выполнит всю работу.

Пакет очень прост:

echo on
start excel "vbatest.xlsm"

Запустив пакет, открывает документ xlsm. Открытие документа Xlsm запускает код VBA. Затем код VBA открывает нужный HTML-документ и сохраняет его как xlsx. После этого Excel закрывается, командный файл работает и ваша цель достигнута.

Вот и все, спасибо за всю рыбу.

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