sexta-feira, 2 de setembro de 2011

HTML acessando sheet name do Excel por VBScript

Abaixo segue o código HTML
Para testar crie um arquivo excel (.xls) no drive “C:\” chamado “TESTE2.XLS” e neste arquivo crie 6 planilhas. Este exemplo vai exibir uma caixa de mensagem contendo o nome e caminho do arquivo e todas as 6 planilhas existentes. A identificação das planilhas está fixa (hard-code) porém pode-se criar uma forma dinâmica para verificar todas as planilhas existentes no arquivo. Se alguém souber de outra forma como fazer seja em qualquer linguagem, por favor, comentem.

<HTML>
<HEAD>
<TITLE>Busca nome da sheet</TITLE>
</HEAD>
<BODY>

<FORM NAME="Form1">
   <INPUT TYPE="Button" NAME="Button1" VALUE="Click">
   <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript">
        Dim objExcel, strExcelPath, objSheet1, objSheet2, objSheet3, objSheet4, objSheet5, objSheet6

        ' Aqui eu verifico se existe a aplicação Excel instalada
        ' Isso eu não consegui testar
        On Error Resume Next
        Set objExcel = CreateObject("Excel.Application")
        If (Err.Number <> 0) Then
            On Error GoTo 0
            Wscript.Echo "Não existe Excel instalado."
            Wscript.Quit
        End If
        On Error GoTo 0

        strExcelPath = "c:\teste2.xls"
        ' Aqui eu seleciono as sheets
        objExcel.WorkBooks.Open strExcelPath
        Set objSheet1 = objExcel.ActiveWorkbook.Worksheets(1)  
        Set objSheet2 = objExcel.ActiveWorkbook.Worksheets(2)  
        Set objSheet3 = objExcel.ActiveWorkbook.Worksheets(3)          
        Set objSheet4 = objExcel.ActiveWorkbook.Worksheets(4)          
        Set objSheet5 = objExcel.ActiveWorkbook.Worksheets(5)          
        Set objSheet6 = objExcel.ActiveWorkbook.Worksheets(6)          
        MsgBox "O nome do arquivo é:" & strExcelPath & vbcrlf &_
               "O nome da sheet1 é: " & objsheet1.name & vbcrlf  &_
               "O nome da sheet2 é: " & objsheet2.name  & vbcrlf &_
               "O nome da sheet3 é: " & objsheet3.name  & vbcrlf &_
               "O nome da sheet4 é: " & objsheet4.name  & vbcrlf &_
               "O nome da sheet5 é: " & objsheet5.name  & vbcrlf &_
               "O nome da sheet6 é: " & objsheet6.name
        ' Aqui eu fecho a planilha Excel
        ' Se não fizer isso a planilha ficará presa, sugiro que isso seja tratado se ocorrer algum erro depois da abertura do Excel.
        objExcel.ActiveWorkbook.Close
        ' Aqui eu fecho a aplicação Excel
        objExcel.Application.Quit
   </SCRIPT>
</FORM>
</BODY>
</HTML>

Nenhum comentário :

Postar um comentário

Related Posts Plugin for WordPress, Blogger...