FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Excel en Office 365
Posts: 84
Joined: Wed Oct 24, 2007 12:48 PM
Excel en Office 365
Posted: Wed Jul 30, 2025 05:29 PM
Buenas tardes, mi cliente ten铆a instalada una versi贸n de Office antigua y ha decidido pasarse a Office 365.
En el momento que ha desinstalado la versi贸n antigua ha dejado de funcionar mi programa al crear hojas Excel. La forma en la que lo hago es :
TOleAuto():New ("Excel.Application")
El error que da es :
Error description: Error TOleAuto/-1
CO_E_CLASSSTRING: TOLEAUTO:NEW
Called from: xhb\xhbole.prg => TOLEAUTO:NEW(0)
S茅 que este error es debido a que no est谩 instalado Excel en el ordenador, quisiera saber si hay alguna soluci贸n para poder usar Office 365 desde FiveWin o tendr铆a que dejar la versi贸n antigua instalada en su ordenador.
Muchas gracias.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Excel en Office 365
Posted: Thu Jul 31, 2025 04:16 PM
Prueba asi:
// C:\FWH\SAMPLES\EXCELREM.PRG - kapiabafwh@gmail.com - 23/09/2022

#Include "FiveWin.ch"

// Defines para o segundo par芒metro - Ejemplo by Rochinha. FiveWin Brasil.

#define xlCSV            6 //        CSV    *.csv
#define xlCSVMSDOS      24 //        MSDOS CSV    *.csv
#define xlCSVWindows    23 //        Windows CSV    *.csv
#define xlDBF3           8 //        Dbase 3 format    *.dbf
#define xlExcel8        56 //        Excel 97-2003 Workbook    *.xls
#define xlHtml          44 //        HTML format    *.htm; *.html
#define xlTextMSDOS     21 //        MSDOS Text    *.txt

FUNCTION Main()

   HB_GCALL( .F. )

   SET CENTURY ON
   SET DATE BRITISH
   SET TIME FORMAT TO "HH:MM:SS"
   SET EPOCH TO YEAR( DATE() ) - 30
   SET SOFTSEEK OFF
   SET WRAP ON
   SETCANCEL( .F. )
   SET CONFIRM OFF
   SET DELETED ON
   SET _3DLOOK ON
   SET UNIQUE OFF
   SET ESCAPE OFF
   SET EXACT ON  // CONTROLA O :=, = e ==
   SET EXCLUSIVE OFF
   SET MULTIPLE OFF

   MsgRun( "AGUARDE... ABRINDO OS BANCOS DE DADOS.   ",                      ;
           "Por Favor, Espere Abertura. Pode demorar.",                      ;
           { || WinExec( Excel_Remtec() ), 3 } )

   DbCommitAll()
   DbUnLockAll()
   DbCloseAll()
   FreeResources()
   Release All
   SysRefresh()
   HB_GCALL( .T. )

   CLEAR MEMORY

   PostQuitMessage( 0 )

   QUIT

RETURN NIL

FUNCTION Excel_Remtec()

   LOCAL oExcel, oWorkbook, oWorksheet

   TRY

      oExcel := TOleAuto():New( "Excel.Application" )

   CATCH

      TRY

         oExcel = CreateObject( "Excel.Application" )

         // Harbour:
         // oExcel := win_oleCreateObject( "Excel.Application" )

      CATCH

         MsgInfo( "Excel is not installed on this PC. " + ;
                  "You need Excel to continue", "Ooooopppsss" )

         RETURN( .F. )

      END

   END

   oWorkbook := oExcel:WorkBooks

   // Apertura del *.DBF
   oWorkbook:Open( "c:\temp\REMTEC.DBF" )

   oExcel:DisplayAlerts := .F.
   oExcel:Visible       := .T.

   oWorksheet := oExcel:Get( "ActiveSheet" )

   // Graba
   oWorksheet:SaveAs( "c:\temp\tabela.CSV",  6 ) // Segundo par芒metro informa o tipo de sa铆da
   oWorksheet:SaveAs( "c:\temp\tabela.XLS", 56 ) // Segundo par芒metro informa o tipo de sa铆da

RETURN NIL
// FIN
Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 84
Joined: Wed Oct 24, 2007 12:48 PM
Re: Excel en Office 365
Posted: Thu Jul 31, 2025 06:45 PM

Muchas gracias por la respuesta, pero esa es la forma en la que lo tengo programado.

Has probado ese c贸digo en un ordenador que tenga instalado s贸lo el Office 365 ?

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Excel en Office 365
Posted: Thu Jul 31, 2025 07:17 PM
gmart1 wrote: Muchas gracias por la respuesta, pero esa es la forma en la que lo tengo programado.

Has probado ese c贸digo en un ordenador que tenga instalado s贸lo el Office 365 ?
No tengo Microsoft Office 365.

Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Excel en Office 365
Posted: Thu Jul 31, 2025 07:33 PM

En el servidor necesitas Office Standard con soporte OLE. En el escritorio, una versi贸n completa de office, pero no instales la versi贸n Click-to-Run, ya que TOleAuto() no funcionar谩 con ella.

Posts: 111
Joined: Thu Jan 19, 2006 11:47 PM
Re: Excel en Office 365
Posted: Fri Aug 01, 2025 01:28 AM
Saludos,

Tenemos Office 365 sin problemas.

Edgar Mauricio Ar茅valo Mogoll贸n.
Bogot谩 DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programaci贸n....
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Excel en Office 365
Posted: Fri Aug 01, 2025 06:31 AM

TOleAuto() solo funciona con versiones de Office instaladas localmente que proporcionan una interfaz COM/OLE.

Escritorio:

La mayor铆a de las versiones de Office 365 en escritorios con Windows hoy en d铆a se instalan como Click-to-Run (C2R).

Estas versiones Click-to-Run no registran Excel como servidor COM, por lo que TOleAuto("Excel.Application") falla.

Solo una instalaci贸n completa basada en MSI (versi贸n cl谩sica de instalaci贸n) registra las clases OLE necesarias.

Sin embargo, este tipo de versiones son cada vez m谩s dif铆ciles de conseguir: Microsoft las distribuye casi exclusivamente mediante licencias por volumen.

Servidor:

En sistemas Windows Server necesitas Office Standard u otra versi贸n con licencia por volumen que est茅 aprobada para su uso en servidores.

El t茅rmino "Standard" puede ser enga帽oso: se trata de una versi贸n especial de Office compatible con servidores y que incluye soporte OLE.

Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Excel en Office 365
Posted: Fri Aug 01, 2025 03:25 PM
conclusi贸n !
instalar office 2013 o comprar licencia :lol: :roll: :D
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 84
Joined: Wed Oct 24, 2007 12:48 PM
Re: Excel en Office 365
Posted: Fri Aug 01, 2025 03:36 PM
Otto wrote: TOleAuto() solo funciona con versiones de Office instaladas localmente que proporcionan una interfaz COM/OLE.

**Escritorio:**
La mayor铆a de las versiones de Office 365 en escritorios con Windows hoy en d铆a se instalan como *Click-to-Run* (C2R).

Estas versiones *Click-to-Run* no registran Excel como servidor COM, por lo que TOleAuto("Excel.Application") falla.

Solo una instalaci贸n completa basada en MSI (versi贸n cl谩sica de instalaci贸n) registra las clases OLE necesarias.

Sin embargo, este tipo de versiones son cada vez m谩s dif铆ciles de conseguir: Microsoft las distribuye casi exclusivamente mediante licencias por volumen.

**Servidor:**
En sistemas Windows Server necesitas Office Standard u otra versi贸n con licencia por volumen que est茅 aprobada para su uso en servidores.

El t茅rmino "Standard" puede ser enga帽oso: se trata de una versi贸n especial de Office compatible con servidores y que incluye soporte OLE.
Otto, muchas gracias por la explicaci贸n, es lo que me tem铆a.
Mi cliente pertenece a una corporaci贸n grande y le han comunicado al departamento de inform谩tica que por motivos de seguridad tienen que desinstalar todas las versiones de Office y dejar s贸lo la 365.
Voy a solucionarlo generando un fichero plano CSV, menos mal que la hoja Excel que genera mi programa es muy sencilla y no necesito la funcionalidad que nos da OLE.
Muchas gracias a todos, informar茅 cuando tenga probado la soluci贸n adoptada.

Continue the discussion