Discussione chiusa
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Impostare dimensioni colonne Excel

  1. #1
    Salve sto cercando in giro informazione inerenti a codice vb6 attenzione non sono interessato a vba.
    vengo e mi spiego ho fatto un piccolo programmino che mi importa dei file txt e me li porta su un foglio di lavoro excel fin qui tutto ok quello che mi serve eche non riesco ad uscirne , e come faccio ad allargare le colonne di excel ...vi ringrazio in anticipo e vi posto parte del codice vb6 dimostrativo e un file txt di campione

    Dim oExcel As Object
    Dim oBook As Object
    Dim oSheet As Object
    
    'Crea un array con 10 colonne e 1000 righe
    Dim DataArray(1 To 1000, 1 To 10) As Variant
    Dim r As Integer
    
    
    Private Sub Form_Load()
    'Beep
    'Avvia una nuova cartella di lavoro in Excel
    Set oExcel = CreateObject("Excel.Application")
    Set oBook = oExcel.Workbooks.Add
    
    'For r = 1 To 100
       'DataArray(r, 1) = "ORD" & Format(r, "0000")
      ' DataArray(r, 2) = Rnd() * 1000
      ' DataArray(r, 3) = DataArray(r, 2) * 0.7
    'Next
       'Call GRASSETTO
    'Aggiungi intestazioni al foglio di lavoro nella riga 1
    Set oSheet = oBook.Worksheets(1)
    
    oSheet.Range("A1:J1").Value = Array("Nr.", "Tipo", "Matricola", "Anno Costruzione", "Messa in Esercizio", "Prossima Revisione", "Prossimo Collaudo", "Scadenza Estintore", "Matricola Operatore", " Note ")
    
    'Trasferisci la matrice nel foglio di lavoro a partire dalla cella A
    oSheet.Range("A2").Resize(100, 3).Value = DataArray
    
    'Salva la cartella di lavoro ed esci da Excel
    oBook.SaveAs "C:\DATI-EXCEL\BOOK1.xlsx"
    oExcel.Quit
    End Sub
    
    file txt
    PRIMA COMPONENTS SRL
    09/02/2021^CONSORTILE^GRICIGNANO DI AVERSA^SNO^81030^CE^
    196^P6^022137^2021^01/2021^01/2024^2033^2039^^VEGA16^
    171^P6^001074^2018^03/2018^03/2021^2030^2036^^VEGA16^
    170^P6^002181^2018^03/2018^03/2021^2030^2036^^VEGA16^
    169^P6^002157^2018^03/2018^03/2021^2030^2036^^VEGA16^
    168^P6^002252^2018^03/2018^03/2021^2030^2036^^VEGA16^
    167^P6^002313^2018^03/2018^03/2021^2030^2036^^VEGA16^
    166^P6^001148^2018^03/2018^03/2021^2030^2036^^VEGA16^
    165^P6^000130^2018^03/2018^03/2021^2030^2036^^VEGA16^
    164^P6^002474^2018^03/2018^03/2021^2030^2036^^VEGA16^
    163^P6^002331^2018^03/2018^03/2021^2030^2036^^VEGA16^
    162^P6^000000^2018^03/2018^03/2021^2030^2036^^VEGA16^
    172^K5^008515^2018^03/2018^03/2023^2028^2036^^VEGA16^
    173^P30^000045^2018^03/2018^03/2021^2030^2036^^VEGA16^
    174^P6^002364^2018^03/2018^03/2021^2030^2036^^VEGA16^
    175^P6^001874^2018^03/2018^03/2021^2030^2036^^VEGA16^
    176^P30^000040^2018^03/2018^03/2021^2030^2036^^VEGA16^
    177^P6^002254^2018^03/2018^03/2021^2030^2036^^VEGA16^
    178^P6^002330^2018^03/2018^03/2021^2030^2036^^VEGA16^
    179^P6^001229^2018^03/2018^03/2021^2030^2036^^VEGA16^
    180^P6^000072^2018^03/2018^03/2021^2030^2036^^VEGA16^
    @

    cordialmente
    Francesco Strano
    Ultima modifica di AntonioG; 14-04-2021 16:51  Motivo: Titolo e tag CODE

  2. #2
    Ferrari_and non  in linea Scolaretto
    Se il problema impostare la dimensione in automatico quest odovrebbe risolvere


     Dim oRng As Excel.Range
     Dim oRng2 As Excel.Range
    
     Set oRng = oSheet.Columns("A:J")  ' selezioni il range delle colonne
     Set oRng2 = oRng.EntireColumn
     oRng2.AutoFit
    
    Ricordati si settare a nothing tutte le variabili settate
    Set oRng2 = Nothing
    Set oRng = Nothing
    possibilmente in oridne degli oggetti dal pi interno al pi esterno
    Ultima modifica di Ferrari_and; 14-04-2021 16:48 

  3. #3
    Attenzione Francesco,

    il titolo che hai dato al thread non era adeguato, l'ho cambiato io.

    E il codice va inserito tra tag CODE.

    Leggi il regolamento per partecipare correttamente, grazie.
    ℹ️ Leggi di pi su AntonioG ...

  4. #4
    Grazie della risposta ma purtroppo mi da errore gia' dal ( Dim oRng As Excel.Range ) probabile che mi hai dato del codice che gira solo su altri compilatori il mio programma e l'esempio che ti ho inviato e solo per il classico VB6 ti ringrazio comunque della pazienza e se puoi rispondermi saro' bel lieto di leggerti .
    buon lavoro
    Francesco Strano

  5. #5
    Francesco, si vede che non hai aggiunto i riferimenti ad Excel. E' ovvio che puoi scrivere

    Dim oRng As Object

    ma devi pensarci tu, non si possono dare tutti i dettagli tipo "pappa pronta".
    ℹ️ Leggi di pi su AntonioG ...

  6. #6
    Scusami ma non riesco proprio a seguire , io ti avevo detto nel mio primo post che non ho nessuna esperienza con excel da vb6 ..eppure ho fatto una bella parte di codice dove mi apre excel e scrivo i dati nelle caselle oltre non so arrivare tipo formato delle celle grassetto del carattere intestazione a pie' pagina ecc.ecc. , fino ad oggi il massimo che ho fatto con i dati e' stato quello di salvarli su file txt . quindi se puoi darmi la pappa pronta te ne saro' grato altrimenti scusami e buona giornata .


    p.s.
    mi serve questa parte di codice che mi faccia ingrandire la larghezza delle colonne a secondo di come mi servono , non in automatico,, e se puoi la parte

  7. #7
    Non c'entra l'esperienza di vb6 con excel (n la premessa che hai fatto). E non c'entra il formato. E' una questione di base. Se programmi in VB6 devi sapere cosa significa avere referenziato una libreria o no e quindi correggere da solo quella linea (la Dim suggerita) in cui c'era la segnalazione d'errore.

    Hai comunque avuto del codice su cui ragionare e anche il suggerimento di utilizzare Object nella Dim. A questo punto, hai provato il codice? Hai ancora errori? Cosa succede? Cosa hai fatto a questo punto?

    Prova a rispondere e collaborare altrimenti, partendo dal fatto che pretendere la "pappa pronta" vietata da regolamento su questo forum, amici come prima.
    ℹ️ Leggi di pi su AntonioG ...

  8. #8
    ti ringrazio Antonio purtroppo non sono andato avanti trovero' altre persone con piu' pazienza ti ringrazio per l'amicizia., ma non mi sei stato di aiuto..ovviamente la colpa e mia..ciao
    scusa ti riposto la parte cho ho fatto prendendo un po' qua' un po' la ...

    Dim oExcel As Object
    Dim oBook As Object
    Dim oSheet As Object
    
    'Crea un array con 10 colonne e 1000 righe
    Dim DataArray(1 To 1000, 1 To 10) As Variant
    Dim r As Integer
    
    Dim oRng As Object
    Dim oRng2 As Object
    
    
    Private Sub Form_Load()
    'Beep
    'Avvia una nuova cartella di lavoro in Excel
    Set oExcel = CreateObject("Excel.Application")
    Set oBook = oExcel.Workbooks.Add
    
    
    
    'For r = 1 To 100
       'DataArray(r, 1) = "ORD" & Format(r, "0000")
      ' DataArray(r, 2) = Rnd() * 1000
      ' DataArray(r, 3) = DataArray(r, 2) * 0.7
    'Next
       
    'Aggiungi intestazioni al foglio di lavoro nella riga 1
    Set oSheet = oBook.Worksheets(1)
    
    
    
    oSheet.Range("A1:J1").Value = Array("Nr.", "Tipo", "Matricola", "Anno Costruzione", "Messa in Esercizio", "Prossima Revisione", "Prossimo Collaudo", "Scadenza Estintore", "Matricola Operatore", " Note ")
    
        
    'Trasferisci la matrice nel foglio di lavoro a partire dalla cella A
    'oSheet.Range("A1:J1").Resize(300, 2).Value = DataArray
    
    'Salva la cartella di lavoro ed esci da Excel
    oBook.SaveAs "C:\DATI-EXCEL\BOOK1.xlsx"
    oExcel.Quit
    End Sub
    
    ciao...
    Francesco
    Ultima modifica di AntonioG; 15-04-2021 11:27  Motivo: Tag CODE VEDI REGOLAMENTO

  9. #9
    Ferrari_and non  in linea Scolaretto
    ed il pezzo di codice con autofit dove telo sei perso?

  10. #10
    scusa ti ho inviato la parte che non va in errore , se aggiungo la parte che mi hai inviato va in errore ..ma sicuramente sara' perche' non so dove inserirlo ne ho provate un po di compilazioni ma non va ...scusami se ti sto facendo perdere del tempo prezioso...ma se puoi dammi una mano ..invece che automatico posso dare l'informazione tipo larghezza poi inserisco il dato in array....successiva larghezza colonna e dato ....larghezza colonna e dato via via A1,B1,C1,,,ecc...
    piu maccheronicamente...casella A1 formato nn dato(nn) eventuale scrittura in grassetto

    lo so e' troppo ....

Discussione chiusa
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 10
    Ultimo Post: 23-03-2019, 12:52
  2. [VS 10]: Dimensioni Colonne DataGridView non modificabili
    Da maninblack nel forum Visual Basic .Net
    Risposte: 5
    Ultimo Post: 01-11-2017, 21:16
  3. Risposte: 8
    Ultimo Post: 27-09-2010, 08:32
  4. [Access] Impostare dinamicamente n colonne su report
    Da max-paso nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 30-07-2008, 16:20
  5. [EXCEL] Dimensioni semi-spropositate
    Da Antonello nel forum Microsoft Excel
    Risposte: 1
    Ultimo Post: 16-05-2006, 17:34