Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Excel Application proprietà

    Ciao a tutti.

    Sono qui a chiedere il vostro prezioso aiuto.

    Ho scritto questa procedura per la creazione di un file excel:

    codice:
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Visible = false  
    ExcelApp.Workbooks.Add
    ExcelApp.Workbooks(1).ActiveSheet.Name = "Nome_foglio"
    Set ExcelBook = ExcelApp.ActiveSheet
    
    ExcelApp.Range("A1").Select
    ExcelApp.ActiveCell.Formula = "ZONA"
    ExcelApp.ActiveCell.Font.Bold = True
    ExcelApp.ActiveCell.Font.Size = 12 
    ExcelApp.ActiveCell.Font.Color = vbRed
    ExcelApp.ActiveCell.Font.ColorIndex = 3
    ExcelApp.ActiveCell.Interior.ColorIndex = 30
    
    ExcelApp.ActiveWorkbook.SaveAs(Server.MapPath("Folder.xls"))
    ExcelApp.Quit
    Set ExcelApp = Nothing
    Set ExExcelBook = Nothing
    Funziona tutto tranne che non riesco:

    1) ad aggiungere più fogli allo stesso file excel;
    2) a saltare la prima riga dopo l'intestazione delle colonne;

    Sapete aiutarmi per favore ?
    Grazie
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Allora, un piccolo passo avanti.

    Così creo quanto fogli voglio all'interno del file excel A-B-C e D:

    codice:
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Visible = false  
    
    Set objWorkbook = ExcelApp.Workbooks.Add()
    Set objWorksheet = objWorkbook.Worksheets(1)
    Set colSheets = objWorkbook.Sheets
    colSheets.Add objWorksheet,,3
    
    ExcelApp.Workbooks(1).WorkSheets(1).Name = "A"
    ExcelApp.Workbooks(1).WorkSheets(2).Name = "B"
    ExcelApp.Workbooks(1).WorkSheets(3).Name = "C"
    ExcelApp.Workbooks(1).WorkSheets(4).Name = "D"
    
    ExcelApp.Range("A1").Select
    ExcelApp.ActiveCell.Formula = "ZONA"
    Il problema che si popolano soltanto le celle del foglio A e non quelle degli altri fogli.

    Dove sbaglio ?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  3. #3
    sei sicuro che lo hai scritto tu il codice e non lo hai copiato????

    perche' altrimenti ti crei 2 oggetti objWorkbook e objWorksheet
    oppure ExcelBook che poi non usi.....?????


    per te ExcelApp rappresenta la tua applicazione EXCEL quindi perche' dovresti usare

    ExcelApp.range ???

    se ti crei un oggetto Set objWorkbook = ExcelApp.Workbooks.Add()

    poi se vuoi scrivere dentro le celle basta che scrivi

    objWorkbook.Worksheets(1).cells(1,1) = "PIPPO"
    objWorkbook.Worksheets(1).cells(2,1) = "PLUTO"
    o
    objWorkbook.Worksheets(2).cells(1,1) = "PAPERINO"

    dimmi se riesci cosi'......
    ciaooo
    Ci sono solo 10 tipi di persone al mondo, chi conosce il binario e chi no.

    Disapprovo quello che dici, ma difenderò fino alla morte il tuo diritto a dirlo.

    Tanta bella giovinezza che si fugge tuttavia, chi vuol essere lieto sia, del doman non v'e' certezza.

  4. #4
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Scusa ho fatto un pò di confusione appunto perchè il codice l'ho scritto da me...

    Con queste ultime modifiche funziona tutto a meraviglia.

    L' unica cosa dove non riesco è allineare centralmente il testo all'interno dell' intestazione della colonna A1.

    Cosa puoi suggerirmi?

    codice:
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Visible = false  
    
    Set objWorkbook = ExcelApp.Workbooks.Add()
    Set objWorksheet = objWorkbook.Worksheets(1)
    Set colSheets = objWorkbook.Sheets
    colSheets.Add objWorksheet,,3
    
    ExcelApp.Workbooks(1).WorkSheets(1).Name = "A"
    ExcelApp.Workbooks(1).WorkSheets(2).Name = "B"
    ExcelApp.Workbooks(1).WorkSheets(3).Name = "C"
    ExcelApp.Workbooks(1).WorkSheets(4).Name = "D"
    
    ExcelApp.Sheets("A").Select
    ExcelApp.Range("A1").Select
    ExcelApp.ActiveCell.Formula = "AAA"
    ExcelApp.ActiveCell.Borders.Color = RGB(0, 0, 0)
    ExcelApp.ActiveCell.Font.Name = "Arial" 
    ExcelApp.ActiveCell.Font.Bold = True
    ExcelApp.ActiveCell.Font.Size = 8
    ExcelApp.ActiveCell.Font.Color = vbBlack
    ExcelApp.ActiveCell.Interior.ColorIndex = 44
    ExcelApp.ActiveCell.ColumnWidth = 27
    
    
    ExcelApp.ActiveWorkbook.SaveAs(Server.MapPath("F.xls"))
    ExcelApp.Quit
    
    Set ExcelApp = Nothing
    Set objWorkbook = Nothing
    Set objWorksheet = Nothing
    Set colSheets = Nothing
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  5. #5
    ExcelApp.ActiveCell.HorizontalAlignment = xlCenter


    scusa ma continuo a non capire.......
    Set objWorkbook = ExcelApp.Workbooks.Add()
    Set objWorksheet = objWorkbook.Worksheets(1)
    Set colSheets = objWorkbook.Sheets
    dichiari 3 oggetti che poi setti a nothing senza averli mai usati......
    adori sprecare memoria??????

    un consiglioche ti do è quello di non accedere alle celle con ...ActiveCell

    ma con ..ExcelApp.Workbooks(1).WorkSheets(1).cells(riga ,colonna )

    ciao Max
    Ci sono solo 10 tipi di persone al mondo, chi conosce il binario e chi no.

    Disapprovo quello che dici, ma difenderò fino alla morte il tuo diritto a dirlo.

    Tanta bella giovinezza che si fugge tuttavia, chi vuol essere lieto sia, del doman non v'e' certezza.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.