Script de ejemplo para seleccionar un fichero excel y leerlo.

El siguiente ejemplo solicita en pantalla un fichero y lee sus columnas.


Código VB6:

Dim fso, lFichero
lFichero = SelectFile() 
Set fso = CreateObject("Scripting.FileSystemObject")  
If Not fso.FileExists(lFichero) Then
  MsgBox "Fichero " & lFichero & " no existente"
  Exit Sub
End If
If MsgBox("¿Desea Importar el fichero de Excel seleccionado?",VBYesNo,"Importar Pedido del Cliente") = VBYes Then
    Importa_Excel lFichero
End If

Function Importa_Excel (lFichero)
    lFilaALeer = 2   'Fila sobre la que empezaremos a leer, normalmente la 1 es el nombre de las columnas
    Set objExcel = CreateObject("Excel.Application")  
    ' Apertura del fichero xls
    objExcel.Workbooks.Open lFichero,,False 
    ' Seguirá leyendo mientras no encuentre una celda en blanco (en la columna A)
    While Len("" & objExcel.ActiveWorkbook.Sheets(1).Application.Cells(lFilaALeer, 1)) > 0 
      lDatoARecuperarColumna1 = objExcel.ActiveWorkbook.Sheets(1).Application.Cells(lFilaALeer, 1)
      lDatoARecuperarColumna2 = objExcel.ActiveWorkbook.Sheets(1).Application.Cells(lFilaALeer, 2)
      ...
      lFilaALeer = lFilaALeer + 1
    Wend
    objExcel.Quit  
    Set objExcel = Nothing
End Function


Código VB6:

using Ahora.Excel;
using AhoraCore;
using AhoraOCX;
using System;
using static AhoraCore.VBA.Interaction;

namespace AhoraScriptsVacia
{
    public class Script_71 : AhoraOCX.AhoraBaseScript
    {
        public void Main()
        {
            ICommonDialogUsuario CDFile = new CommonDialogUsuario();
            CDFile.Flags = FileOpenConstants.cdlOFNFileMustExist;
            CDFile.InitDir = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);            
            CDFile.Filter = "Todos los archivos (*.*)|*.*|Hojas de Cálculo |*.xls;*.xlsx";
            CDFile.FilterIndex = 2;
            CDFile.DialogTitle = "Seleccione un fichero Excel";
            CDFile.ShowOpen();

            if (CDFile.FileName != null && CDFile.FileName != "") 
            { 
                string lRuta = CDFile.FileName;
                int lFilaALeer = 2;

                Valor lDatoARecuperarColumna1;
                Valor lDatoARecuperarColumna2;

                IExcelApplication oExcel = AhoraCore.AhoraServiceLocator.Current.GetService<Ahora.Excel.IExcelApplication>();
                if (oExcel.ExcelInstalado())
                {
                    oExcel.Workbooks.Open(lRuta, null, false);

                    bool lSigueLeyendo = true;

                    while (lSigueLeyendo)
                    {
                        lDatoARecuperarColumna1 = oExcel.ActiveWorkbook.Sheets[1].get_Cells(lFilaALeer, 1).Value;
                        lDatoARecuperarColumna2 = oExcel.ActiveWorkbook.Sheets[1].get_Cells(lFilaALeer, 2).Value;
                        // ...

                        if (lDatoARecuperarColumna1 == "" || lDatoARecuperarColumna2 == "")
                        {
                            lSigueLeyendo = false;
                        }
                        else
                        {
                            MsgBox(lDatoARecuperarColumna1);
                            MsgBox(lDatoARecuperarColumna2);
                        }

                        lFilaALeer++;

                    }

                    oExcel.Quit();
                    oExcel = null;
                }

            }

        }
    }
}