Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74

    [delphi xe3]: utilizzare excel

    Salve a tutti.
    Avrei la necessità di interagire, all'interno del mio programma, con excel (già installato sul mio pc).

    Ho cercato su internet soluzioni, così sono riuscito a aprire il file xls

    codice:
    var   Cols: integer;   Rows: integer;   Excel, XLSheet: Variant;   failure: Integer;  
    begin // compila ISP0
        Excel:=CreateOleObject('Excel.Application');
        Excel.Visible:=False;
        Excel.WorkBooks.Open(L_vispi.Caption);
    ma mi fermo qui !!

    Infatti, volendo selezionare un foglio specifico del file xls non riesco a trovare soluzioni.
    Ed inoltre dovrei

    1) leggere il contenuto di una cella
    2) scrivere un nuovo valore nella cella
    3) allineare a dx o sx una cella

    Potete aiutarmi ?
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  2. #2
    Se usi ADO puoi gestire un foglio excel come fosse un database, ogni foglio è una tabella e vale la sintassi sql.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Intanto grazie per l'mmediata risposta.
    No. Non utilizzo ADO.
    Scrivo sul foglio dati rivenienti da elaborazioni che effettuo leggendo dei file txt.

    Grazie
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  4. #4
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679

    Re: [delphi xe3]: utilizzare excel

    Originariamente inviato da karug64
    0)Infatti, volendo selezionare un foglio specifico del file xls non riesco a
    1) leggere il contenuto di una cella
    2) scrivere un nuovo valore nella cella
    3) allineare a dx o sx una cella

    Potete aiutarmi ?
    0) Sheet := XLApp.Workbooks[1].Worksheets['foglio'];
    1) s:=sheet.cells[3,2];
    2) Sheet.cells[3,2]:='valore';
    3) Sheet.Cells[3, 2].HorizontalAlignment := xlright;

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74

    Re: Re: [delphi xe3]: utilizzare excel

    Originariamente inviato da franzauker2.0
    0) Sheet := XLApp.Workbooks[1].Worksheets['foglio'];
    Il problema è proprio qui !!! Avevo trovato una riga analoga, ma ho errore su

    Worksheets

    undeclared identifier 'Worksheets'

    Originariamente inviato da franzauker2.0
    1) s:=sheet.cells[3,2];
    2) Sheet.cells[3,2]:='valore';
    3) Sheet.Cells[3, 2].HorizontalAlignment := xlright;
    ovviamente queste istruzioni non ho potuto provarle....

    Grazie
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679

    Re: Re: Re: [delphi xe3]: utilizzare excel

    Originariamente inviato da karug64
    Il problema è proprio qui !!! Avevo trovato una riga analoga, ma ho errore su

    Worksheets

    undeclared identifier 'Worksheets'
    Devi aprire un file Excel che contiene GIA' il foglio "foglio"
    codice:
      XLApp := CreateOleObject('Excel.Application');
      XLApp.Visible := false;
      XLApp.Workbooks.Open('c:\file.xls');
      XLApp.Workbooks[1].Worksheets[1].Name := 'foglio';
      Sheet := XLApp.Workbooks[1].Worksheets['foglio'];
    Et voilà.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74

    Re: Re: Re: Re: [delphi xe3]: utilizzare excel

    Originariamente inviato da franzauker2.0
    Devi aprire un file Excel che contiene GIA' il foglio "foglio"
    codice:
      XLApp := CreateOleObject('Excel.Application');
      XLApp.Visible := false;
      XLApp.Workbooks.Open('c:\file.xls');
      XLApp.Workbooks[1].Worksheets[1].Name := 'foglio';
      Sheet := XLApp.Workbooks[1].Worksheets['foglio'];
    Et voilà.
    MI sfugge qualcosa (come da firma ):

    codice:
    procedure TForm3.Elabora1Click(Sender: TObject);
    var
    XLApp: Variant;
    
    begin  
    L_v.Caption  := 'D:\bd1\file_supporto\Vi.xls';
    try
    XLApp := CreateOleObject('Excel.Application');
    except  
    on E : Exception do
    begin
    MessageDlg('Errore nella creazione dell''istanza Microsoft Excel.', mtError, [mbOK], 0);
     exit;
     end; 
    XLApp.Visible := True; 
    // provo ad aprire excel   
    try 
     XLApp.WorkBooks.Open(L_vispi.Caption);
     XLApp.Workbooks[1].Worksheets[1].Name := 'Foglio1';
     Sheets := XLApp.Workbooks[1].Worksheets['mecojoni'];
    except   
    on E : Exception do  
     begin
      MessageDlg('Errore nell''apertura del file '+ L_vispi.caption , mtError, [mbOK], 0);     Exit;    
    end; 
    end;
    Ho errore su Worksheets e Name ...

    Cosa mi sfugge ?

    Grazie
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Aggiorno.
    Il codice proposto funziona.
    L'unica cosa che non va è la selezione del foglio.
    Questa istruzione:

    codice:
    Sheets := XLApp.Workbooks[1].Worksheets['foglio'];
    non seleziona il foglio (che esiste).

    Grazie
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Mi rispondo da solo:

    risolto cosi' :

    XLApp.Workbooks[1].Worksheets['foglio'].select;
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  10. #10

    Moderazione

    Ahem... magari evitiamo esempi di codice di contenuto così edificante - non siamo al bar, non è particolarmente professionale ( ) e a molti dà fastidio.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.