Piloter Office en VB.Net

Contenu du snippet

Piloter Excel, PowerPoint et Word en VB.Net.

Quand je vois ceci:

Dim oExcel As Excel.Application  oExcel = CreateObject("Excel.Application") 


Il y a d'autre méthode en VB.Net.

Ouvrir un nouveau projet. Mettre dans le Form 3 buttons avec ce code:

'Aller dans My Project- Références et ajouter dans COM:
'Microsoft Excel Object 12.0 Library
'Microsoft PowerPoint Object 12.0 Library
'Microsoft Word 12.0 Object Library
Option Strict On
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Word
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop.PowerPoint
Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Button1.Text = "Ouvrir Excel"
        Button2.Text = "Ouvrir PowerPoint"
        Button3.Text = "Ouvrir Word"
        Button1.AutoSize = True
        Button2.AutoSize = True
        Button3.AutoSize = True
    End Sub
    'Excel
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        'Créer une instance de Excel
        Dim ApExcel As New Excel.Application
        Dim wbExcel As New Excel.Worksheet
        'Créer un nouveau classeur
        ApExcel.Workbooks.Add()
        'Ouvrir un  classeur
        'ApExcel.Workbooks.Open("chemin classeur.xls")
        'rendre le classeur visible
        ApExcel.Visible = True
        ApExcel.Range("A1").Formula = "Bonjour" 'Ajouter du texte à une cellule
        ApExcel.Workbooks.Close() 'on ferme le classeur
        ApExcel.Visible = False
        ApExcel.Quit() 'on ferme Excel
    End Sub
    'PowerPoint
    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        'Créer une instance de PowerPoint
        Dim PptApp As New PowerPoint.Application
        Dim PptDoc As PowerPoint.Presentation
        'Créer une nouvelle présentation
        PptDoc = PptApp.Presentations.Add()
        'rendre la présentation visible
        PptApp.Visible = Microsoft.Office.Core.MsoTriState.msoCTrue
        'Ouvrir une  présentation
        ' PptDoc = PptApp.Presentations.Open("Chemin de la presentation.ppt")
        PptDoc.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
        PptDoc.Slides(1).Shapes(1).TextFrame.TextRange.Text = "Bonjour" 'Ajouter du texte
        PptDoc.SaveAs(System.Windows.Forms.Application.StartupPath & "\mapresentation.ppt")
        PptDoc.Close() 'on ferme la présentation
        PptApp.Quit() 'on ferme PowerPoint
    End Sub
    'Word
    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        'Créer une instance de word
        Dim oWord As New Word.Application
        'Créer un nouveau document
        oWord.Documents.Add()
        'Ouvrir un  document
        'oWord.Documents.Open("chemin document.doc")
        'rendre le document word visible
        oWord.Visible = True
        oWord.Selection.TypeText(Text:="Bonjour") 'Ajouter du texte
        oWord.ActiveDocument.Close() 'on ferme le document
        oWord.Visible = False
        oWord.Quit() 'on ferme Word
    End Sub
End Class


Ensuite pour utiliser cela, il vous suffit d'ajouter le code en vba.

Voir ceci comme exemple:

http://codes-sources.commentcamarche.net/source/100331-rogner-une-image-en-pixels-ou-en-cm

Bonne programmation

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.