Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - salva foglio excel con nome uguale al valore di due celle
Forum - C# / VB.NET - salva foglio excel con nome uguale al valore di due celle

Avatar
Giagianca (Normal User)
Newbie


Messaggi: 1
Iscritto: 02/03/2010

Segnala al moderatore
Postato alle 17:59
Martedì, 02/03/2010
Salve a tutti...
Sono alle prime armi con la programmazione. Ho creato un form con delle textbox, al click del pulsante apro e compilo un modello excel copiando il testo delle textbox nelle celle scelte.
Fin qui tutto bene...ora però vorrei salvare questo modello in un .xls dentro
un'altra cartella col nome_file uguale al valore di due celle.
Le celle in questione dove prelevare il nome-file sono la D19 (numero) e la D11 (stringa)

ecco il codice

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim oExc As Object
        Dim oWbk As Object
        Dim oWsh1 As Object
        Dim oRng1 As Object
        


        TextBox2.Focus()
        oExc = CreateObject("Excel.Application")
        oExc.Visible = True
        If (CheckBox4.Checked = True) Then
            oWbk = oExc.Workbooks.open("C:\Users\Desktop\modelli fatture\prova2.xlt")
            oWsh1 = oWbk.Sheets(1)
            oRng1 = oWsh1.Range("D11")
            oRng1.FormulaR1C1 = TextBox1.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D12")
            oRng1.FormulaR1C1 = TextBox2.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D13")
            oRng1.FormulaR1C1 = TextBox3.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D16")
            oRng1.FormulaR1C1 = TextBox4.Text 'testo partita iva o codice fiscale
            oRng1 = oWsh1.Range("D19")
            oRng1.FormulaR1C1 = TextBox5.Text 'testo numero fattura
            oRng1 = oWsh1.Range("D23")
            oRng1.FormulaR1C1 = TextBox6.Text 'testo vostro dare1
            oRng1 = oWsh1.Range("L23")
            oRng1.FormulaR1C1 = TextBox7.Text 'totale1
            oRng1 = oWsh1.Range("D24")
            oRng1.FormulaR1C1 = TextBox8.Text 'testo vostro dare2
            oRng1 = oWsh1.Range("L24")
            oRng1.FormulaR1C1 = TextBox9.Text 'totale2
        ElseIf (CheckBox5.Checked = True) Then
            oWbk = oExc.Workbooks.open("C:\Users\Desktop\modelli fatture\prova3.xlt")
            oWsh1 = oWbk.Sheets(1)
            oRng1 = oWsh1.Range("D11")
            oRng1.FormulaR1C1 = TextBox1.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D12")
            oRng1.FormulaR1C1 = TextBox2.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D13")
            oRng1.FormulaR1C1 = TextBox3.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D16")
            oRng1.FormulaR1C1 = TextBox4.Text 'testo partita iva o codice fiscale
            oRng1 = oWsh1.Range("D19")
            oRng1.FormulaR1C1 = TextBox5.Text 'testo numero fattura
            oRng1 = oWsh1.Range("D23")
            oRng1.FormulaR1C1 = TextBox6.Text 'testo vostro dare1
            oRng1 = oWsh1.Range("L23")
            oRng1.FormulaR1C1 = TextBox7.Text 'totale1
            oRng1 = oWsh1.Range("D24")
            oRng1.FormulaR1C1 = TextBox8.Text 'testo vostro dare2
            oRng1 = oWsh1.Range("L24")
            oRng1.FormulaR1C1 = TextBox9.Text 'totale2
            oRng1 = oWsh1.Range("D25")
            oRng1.FormulaR1C1 = TextBox10.Text 'testo vostro dare3
            oRng1 = oWsh1.Range("L25")
            oRng1.FormulaR1C1 = TextBox11.Text 'totale3
        ElseIf (CheckBox4.Checked) & (CheckBox5.Checked = False) Then
            oWbk = oExc.Workbooks.open("C:\Users\Desktop\modelli fatture\prova.xlt")
            oWsh1 = oWbk.Sheets(1)
            oRng1 = oWsh1.Range("D11")
            oRng1.FormulaR1C1 = TextBox1.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D12")
            oRng1.FormulaR1C1 = TextBox2.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D13")
            oRng1.FormulaR1C1 = TextBox3.Text 'testo intestazione fattura
            oRng1 = oWsh1.Range("D16")
            oRng1.FormulaR1C1 = TextBox4.Text 'testo partita iva o codice fiscale
            oRng1 = oWsh1.Range("D19")
            oRng1.FormulaR1C1 = TextBox5.Text 'testo numero fattura
            oRng1 = oWsh1.Range("D23")
            oRng1.FormulaR1C1 = TextBox6.Text 'testo vostro dare
            oRng1 = oWsh1.Range("L23")
            oRng1.FormulaR1C1 = TextBox7.Text 'totale
        End If
    End Sub

Mi date una mano...

Grazie 1000 volte grazie

PM Quote
Avatar
Alessio S. (Normal User)
Newbie


Messaggi: 17
Iscritto: 01/03/2010

Segnala al moderatore
Postato alle 17:53
Mercoledì, 03/03/2010
Probabilmente non ho capito cosa devi fare ma sicuramente dovresti cercare qualcosa che riguardi la compressione .xls.


La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 11:13
Giovedì, 04/03/2010
Codice sorgente - presumibilmente VB.NET

  1. Dim xlApp As Excel.Application
  2.         Dim xlWorkBook As Excel.Workbook
  3.         Dim xlWorkSheet As Excel.Worksheet
  4.         Dim misValue As Object = System.Reflection.Missing.Value
  5.         xlApp = New Excel.Application
  6.         xlWorkBook = xlApp.Workbooks.Add(misValue)
  7.         xlWorkSheet = xlWorkBook.Sheets("Foglio3")
  8.         xlWorkSheet.Cells(1, 1) = 5
  9.         xlApp.DisplayAlerts = False
  10.         xlWorkSheet.SaveAs("H:\" & txtNome.Text & "_" & txtFile.Text & ".xls")
  11.         xlWorkSheet.Delete()
  12.         xlWorkBook.Close()
  13.         xlApp.Quit()


Ultima modifica effettuata da crash outside control il 04/03/2010 alle 11:14


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote