PDA

View Full Version : Aiuto per Visual Basic


mariade
10-05-2006, 16:42
Ciao ragazzi, volevo chiedervi aiuto su un progetto da consegnare domani...Ho creato un form con textbox e due comandi (ok e Cancella).Nei text box devo inserire data, nome, indirizzo, somma raccolta, ecc..che una volta cliccato su Ok, si dovrebbe prire un file excel dove i textbox si inseriscono nelle apposite colonne. Il file excel sara' un rapporto mensile delle somme raccolte, dove verra' sotratto il 5% per costi amministrativi.
Il mio problema e' che una volta che clicco Ok, mi si visualizza l'error "Run time error 11: division by zero" e mi segnala la linea di codice:

ExcelApp.Workbooks.Open ("Monthly.xls" & C = Documents And Settings \ mario \ Desktop)

Ma questa linea se scritta bene dovrebbe aprirmi il file excel dove inserire i dati. Il guaio, oltre a non capire dove sbaglio, E' che non posso controllare se i testi si inseriscono negli appositi spazi con le linee di codice che ho scritto.
Vi riporto di seguito tutti i codici del programma e per favore, aiutatemi se potete.
Thanks.


Public ExcelApp As New Excel.Application

Private Sub cmdCancel_Click()
Unload frmChristCards
ExcelApp.ActiveSheets.Close SaveChanges:=False

End Sub

Private Sub cmdOK_Click()


ExcelApp.Workbooks.Open ("Monthly.xls" & C = Documents And Settings \ mario \ Desktop)

ActiveSheets.UsedRange.Select
Row = Worksheets(1).UsedRange.Rows.Count
For indi = 2 To Row
If Range("A" & indi) <> txtDate.Text Then
Range("A" & indi).Select
Selection.EntireRow.Hidden = True
End If
Next

For indi = 2 To Row
If Range("B" & indi) <> txtName.Text Then
Range("B" & indi).Select
Selection.EntireRow.Hidden = True
End If
Next

For indi = 2 To Row
If Range("C" & indi) <> txtAddress.Text Then
Range("C" & indi).Select
Selection.EntireRow.Hidden = True
End If
Next

For indi = 2 To Row
If Range("D" & indi) <> txtAmtRaised.Text Then
Range("D" & indi).Select
Selection.EntireRow.Hidden = True
End If
Next

For indi = 2 To Row
If Range("E" & indi) <> txtCardsSold.Text Then
Range("E" & indi).Select
Selection.EntireRow.Hidden = True
End If
Next

ExcelApp.Visible = True
ExcelApp.ActiveWorkbook.SaveAs ("Monthly.xls" & C = Documents And Settings \ mario \ Desktop)

End Sub

Albez79
10-05-2006, 17:16
prova cosi
ExcelApp.Workbooks.Open ("C:\Documents And Settings\mario\Desktop\Monthly.xls")

e fai lo stesso per il workbooks.saveas

mariade
10-05-2006, 17:45
ma esce un altro errore "run time error 424 object required" :help: segnalandomi questa riga:

ActiveSheets.UsedRange.Select

Stiwy.NET
11-05-2006, 10:15
ma esce un altro errore "run time error 424 object required" :help: segnalandomi questa riga:

ActiveSheets.UsedRange.Select
Questo significa che il primo problema è stato risolto :Prrr:

Per quanto riguarda il secondo... è proprio necessaria quell'istruzione? a cosa dovrebbe servire?

Albez79
11-05-2006, 11:34
ma esce un altro errore "run time error 424 object required" :help: segnalandomi questa riga:

ActiveSheets.UsedRange.Select



scrivilo cosi

excelapp.activesheets.usedrange.select

mariade
12-05-2006, 14:29
lo stesso errore di ieri e mi segnala quest'altra riga:

excellapp.Workbooks.Open (App.Path & "\Mounthly.xls")

non ce la faccio piu' :uh:

Albez79
12-05-2006, 15:29
lo stesso errore di ieri e mi segnala quest'altra riga:

excellapp.Workbooks.Open (App.Path & "\Mounthly.xls")

non ce la faccio piu' :uh:


sei sicuro che Mounthly.xls si trova nella stessa cartella del progetto vb ?

mariade
12-05-2006, 15:33
si trovano entrambi sul desktop... :stordita:

dupa
12-05-2006, 15:37
lo stesso errore di ieri e mi segnala quest'altra riga:

excellapp.Workbooks.Open (App.Path & "\Mounthly.xls")

non ce la faccio piu' :uh:

Monthly.xls no ?

mariade
12-05-2006, 17:43
ma ho nomenato anche il file mounthly....

Stiwy.NET
12-05-2006, 17:51
ma ho nomenato anche il file mounthly....
:D :stordita: :muro: :mc: :sofico: :ciapet: :Prrr:

Albez79
12-05-2006, 22:10
scrivilo cosi vedrai che va (sono un pò arrugginito con vb6) ti mancava la parola chiave NEW quando istanzi un nuovo oggetto poi la var relativa all'insieme dei workbooks e la var specifica workbook per aprire il file

Dim excelApp As New Excel.Application
Dim excelWorkbooks As Excel.Workbooks
Dim excelworkbook As Excel.Workbook

Set excelWorkbooks = excelApp.Workbooks
Set excelworkbook = excelWorkbooks.Open(app.path & "\tuofile.xls")

mariade
13-05-2006, 16:01
altro errore pero' "run time 438 oggetto richiesto non upporta proprieta' o metodo" segnalando quest ariga:

excelApp.Worksheet(1).SaveAs (App.Path & "\Mounthly.xls")

credo che se non salvo il file non posso vedere i testi inseriti, oltre che
excelApp.Visible = True

dopo il salvataggio...
correggetemi dove sbaglio e ditemi che fare x quest'altro errore..

grazie mille ;)