abrir documento html com excel salvar como xls com arquivo em lotes

1

Eu gostaria de executar um arquivo em lotes que irá abrir um arquivo html com excel e, posteriormente, salvar o arquivo html aberto como um documento xls ou xlsx. Idealmente, o lote seria agendado para ser executado todas as noites. Usando um código simples como o abaixo irá abrir um documento html no excel

start excel test.html

Onde estou preso é para onde ir em seguida com o código. Alguém teria alguma ideia?

    
por Dre 11.09.2015 / 18:47

1 resposta

0

Apenas para encerrar esta pergunta:

A solução para este problema é resolvida escrevendo dois scripts: primeiro é um script vba escrito em excel e salvo em um documento xlsm. O segundo é um arquivo .bat que executará o documento xlsm mencionado anteriormente para acionar o script vba que, por fim, converterá o documento html em xlsx.

1o: no Excel, existem duas coisas para criar o código VBA que salvará o documento html como um documento xlsx (vamos chamar isso de A). O segundo passo é criar código VBA que irá executar automaticamente o código mencionado anteriormente [designado para salvar o htlm como um arquivo excel e então fechar] (Vamos chamar isso de B).

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

Você notará que o código é muito simples. Para resumir o código diz, abra o documento html, salve como documento xlsx, feche o livro de trabalho. O código para A vai para a seção de módulos.

Para a Parte B você terá que salvar outro script VBA dentro da seção 'ThisWorkbook' da pasta Microsoft Excel Objects para o documento xlsm.

Private Sub Workbook_Open()
   Call Open_HTML_Save_XLSX
   Application.Quit
End Sub  
es es eses BBesesBesBesBesBesB B BB v esB es O script apenas diz que quando você abre este livro de trabalho, executa o script VBA que fará a conversão do arquivo e sairá do Excel.

Assim, uma vez que o documento XLSM é configurado, a única coisa que resta a fazer é escrever um script em lote para abrir o documento XLSM que fará todo o trabalho.

O lote é super simples:

echo on
start excel "vbatest.xlsm"

Executando o lote, abre o documento xlsm. Abrir o documento Xlsm aciona o código VBA para ser executado. O código do VBA abre o documento html desejado e o salva como xlsx. O Excel fecha, o arquivo em lote está em andamento e seu objetivo foi atingido.

Isso é tudo pessoal, obrigado por todos os peixes.

    
por 09.10.2015 / 08:26