Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Creazione di un componente aggiuntivo di automazione per funzioni di foglio di Excel
Forum - Visual Basic 6 - Creazione di un componente aggiuntivo di automazione per funzioni di foglio di Excel

Avatar
visualrenzo (Normal User)
Pro


Messaggi: 94
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 13:45
Giovedì, 07/01/2010
Buongiorno a tutti
Sto cercando di creare un automatismo seguendo la guida:http://support.microsoft.com/kb/285337

ho fatto tutto alla lettera ma quando vado su excell ad installare la dll non me la fa aggiungere.
Qualcuno di voi ha avuto mai un problema simile?

Foglio crearla così da visual basic voglio aprire un file excel .csv  e salvarlo in  . xls

Grazie
:yup:

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:51
Giovedì, 07/01/2010
Ma quel documento non c'entra ...

Devi aggiungere un riferimento alla libreria (Riferimenti) e creare un oggetto Application.

E dopo lo utilizzi (apri il file, lo "salvi come" ... ecc ...)


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
visualrenzo (Normal User)
Pro


Messaggi: 94
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 18:49
Giovedì, 07/01/2010
ho seguito il tuo consiglio
ho trovato quest' altra guida: http://support.microsoft.com/kb/219151
è sono riuscito ad arrivare a questo punto,

cioè apro il mio foglio salvato su c: in .csv ma non riesco a salvarlo in .xls

accidenti .....:yup:

Private Declare Function InitCommonControls Lib "Comctl32.dll" () As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
Const SW_SHOWNORMAL = 1
   ShellExecute Me.hwnd, vbNullString, "C:\Enalottotto.exe", vbNullString, "C:\Enalotto.xls", SW_SHOWNORMAL

End Sub

Private Sub Command2_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

      Dim oXL As Excel.Application
      Dim oWB As Excel.Workbook
      Dim oSheet As Excel.Worksheet
      Dim oRng As Excel.Range
      
      Set oXL = CreateObject("Excel.Application")
      oXL.Visible = True
' Get a new workbook.
' così visualizzo il file enalotto.csv
      Set oWB = oXL.Workbooks.Open("C:\Enalotto.csv")
      Set oSheet = oWB.ActiveSheet
  
'così mi apre un nuovo foglio
'      Set xlBook = oXL.Workbooks.Add
'      Set xlSheet = xlBook.ActiveSheet
      
   Exit Sub
Err_Handler:
      MsgBox Err.Description, vbCritical, "Error: " & Err.Number

End Sub

PM Quote
Avatar
visualrenzo (Normal User)
Pro


Messaggi: 94
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 18:51
Giovedì, 07/01/2010
dimenticavo il botton 1 serve per estrarre il file zippato

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:59
Giovedì, 07/01/2010
Adesso non posso provare, ma devi usare la SaveAs ... questo è un vecchio esempio da cui puoi prendere spunto (non ho provato se funziona o no ... devi esaminarlo ...)

Codice sorgente - presumibilmente VB.NET

  1. Dim xlApp As Excel.Application
  2.  
  3. Set xlApp = CreateObject("Excel.Application")
  4.  
  5. xlApp.Workbooks.OpenText "C:\Test.csv", , , xlDelimited, xlTextQualifierNone,
  6. False, False, False, True
  7.  
  8. 'Do some housekeeping...
  9. xlApp.Selection.CurrentRegion.Columns.AutoFit
  10. xlApp.Selection.CurrentRegion.Rows.AutoFit
  11. xlApp.ActiveWorkbook.SaveAs "C:\Testing123.xls", xlWorkbookNormal
  12. xlApp.ActiveWorkbook.Saved = True
  13. xlApp.Quit
  14.  
  15. Set xlApp = Nothing



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
visualrenzo (Normal User)
Pro


Messaggi: 94
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 21:43
Lunedì, 25/01/2010
  Dim oXL As Excel.Application
      Dim oWB As Excel.Workbook
      Dim oSheet As Excel.Worksheet
      Dim oRng As Excel.Range
      
      Set oXL = CreateObject("Excel.Application")
      oXL.Visible = True
' Get a new workbook.
' così visualizzo il file enalotto.csv
      Set oWB = oXL.Workbooks.Open("C:\Enalotto.csv")
      Set oSheet = oWB.ActiveSheet
  
'così mi apre un nuovo foglio
'      Set xlBook = oXL.Workbooks.Add
'      Set xlSheet = xlBook.ActiveSheet
      
   Exit Sub
Err_Handler:
      MsgBox Err.Description, vbCritical, "Error: " & Err.Number

C' ho ancora un problema. come mai se apro il file enalotto direttamente da c: mi mette giustamente ogni riga e colonna  nella sua cella specifica, invece se uso questo listato mi mette tutto nella cesella A1  a2 a3 a4  ecc anche il contenuto delle celle a2 a3 a4 a5 a6 ecc separate dalle virgole.
Ho provato con FileFormat  xlexcel2 xlExcel4 xlExcel9597 ma niente  Io ho il 2002

e poi ho provato il tuo esempio Saveas  ma sembra non funzionare o meglio me lo salva ma sempre in csv ma con .xls

PM Quote