none
Visual Basic 2005 Express et Excel RRS feed

  • Question

  • Bonsoir,

     

    J'utilise Visual Basic 2005 express et je souhaiterais transférer des données TextBox" vers une cellule d'un fichier Excel.

    Pour cette opération, dois je installer au préalable Visual Studio Tools ou bien Visual Basic Express contient -il les classes pour cette opération , et si oui laquelle ?

    Merci pour votre aide  !

    lundi 6 novembre 2006 18:14

Réponses

  • Bonjour,

    Pour manipuler des documents Office, il est nécessaire que vous installiez "Visual Studio Tools for Office" : http://www.microsoft.com/downloads/details.aspx?familyid=f5539a90-dc41-4792-8ef8-f4de62ff1e81&displaylang=en.

    Vous devriez ensuite avoir une nouvelle rubrique de projet contenant les templates pour Office.

    lundi 6 novembre 2006 18:27
  • Il ne faut pas confondre piloter office ce qui ce fait très bien par l'intermédiaire de l'interop COM et mettre une application liée au documents office ce qui demande d'utiliser les VSTO.

    Dans ton cas, après l'ajout de la référence à la bibliothèque Excel, un code comme l'exemple suivant marchera

    Imports Microsoft.Office.Interop

     

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim AppExcel As New Excel.Application

    Dim wbk As Excel.Workbook, wsh As Excel.Worksheet

    wbk = AppExcel.Workbooks.Add()

    wsh = CType(wbk.Worksheets.Item(1), Excel.Worksheet)

    CType(wsh.Cells(1, 1), Excel.Range).Value = Me.TextBox1.Text

    CType(wsh.Cells(2, 1), Excel.Range).Value = Me.TextBox2.Text

    CType(wsh.Cells(3, 1), Excel.Range).Value = Me.TextBox3.Text

    wbk.SaveAs("d:\temp\Monclasseur.xls")

    wbk.Close()

    wsh = Nothing

    wbk = Nothing

    AppExcel.Quit()

    AppExcel = Nothing

     

    End Sub

     

    End Class

     

    samedi 11 novembre 2006 07:54

Toutes les réponses

  • Bonjour,

    Pour manipuler des documents Office, il est nécessaire que vous installiez "Visual Studio Tools for Office" : http://www.microsoft.com/downloads/details.aspx?familyid=f5539a90-dc41-4792-8ef8-f4de62ff1e81&displaylang=en.

    Vous devriez ensuite avoir une nouvelle rubrique de projet contenant les templates pour Office.

    lundi 6 novembre 2006 18:27
  • Bonjour,

     

    Je suis réticent à utiliser V.S. Tools car je travaille avec Office 2000; hors V.S. Tools semble compatible avec Office 2003 et versions ultérieures...!

    En fait, je souhaite simplement transférer des donnée TextBox vers Excel et non manipuler ces données.

    J'ai chargé le composant Excel 9.0 dans les références de Visual Basic 2005 et il y a donc peut-être moyen d' effectuer ce transfert de données simplement , sans V.S. Tools.

    Qu'en pensez vous ?

     

    mardi 7 novembre 2006 14:49
  • Bonsoir,

    Si vous ne souhaitez pas manipuler les données, vous pouvez en effet soit référencer les bibliothèques Excel, soit générer un csv contenant vos données, soit générer un fichier html renommer en xls.

    mardi 7 novembre 2006 18:19
  • Il ne faut pas confondre piloter office ce qui ce fait très bien par l'intermédiaire de l'interop COM et mettre une application liée au documents office ce qui demande d'utiliser les VSTO.

    Dans ton cas, après l'ajout de la référence à la bibliothèque Excel, un code comme l'exemple suivant marchera

    Imports Microsoft.Office.Interop

     

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim AppExcel As New Excel.Application

    Dim wbk As Excel.Workbook, wsh As Excel.Worksheet

    wbk = AppExcel.Workbooks.Add()

    wsh = CType(wbk.Worksheets.Item(1), Excel.Worksheet)

    CType(wsh.Cells(1, 1), Excel.Range).Value = Me.TextBox1.Text

    CType(wsh.Cells(2, 1), Excel.Range).Value = Me.TextBox2.Text

    CType(wsh.Cells(3, 1), Excel.Range).Value = Me.TextBox3.Text

    wbk.SaveAs("d:\temp\Monclasseur.xls")

    wbk.Close()

    wsh = Nothing

    wbk = Nothing

    AppExcel.Quit()

    AppExcel = Nothing

     

    End Sub

     

    End Class

     

    samedi 11 novembre 2006 07:54