Piloter Office en VB.Net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 754 fois - Téléchargée 21 fois

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

Ajouter un commentaire

Commentaires

limipl
Messages postés
1
Date d'inscription
vendredi 14 février 2014
Statut
Membre
Dernière intervention
14 février 2014
-
Si je comprends bien tu mets le code VBA dans les fichiers office.
Est-ce qu' un utilisateur a besoin d'avoir autre chose d'installé que Office ?
cs_Le Pivert
Messages postés
6293
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2019
87 > limipl
Messages postés
1
Date d'inscription
vendredi 14 février 2014
Statut
Membre
Dernière intervention
14 février 2014
-
Il faut que Office soit installé sur ta machine bien entendu.

Par exemple pour Excel:

Tu prends le code que tu a fait dans ton classeur et tu le mets en le faisant préceder par:

ApExcel.ton code vba

pour chaque ligne comme indiqué pour insérer du texte dans le snippet
cs_Le Pivert
Messages postés
6293
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2019
87 > cs_Le Pivert
Messages postés
6293
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2019
-
Bonjour,

J'ai essayé ton code, et en cherchant dans COM je n'ai pas trouvé les trois :

'Microsoft Excel Object 12.0 Library
'Microsoft PowerPoint Object 12.0 Library
'Microsoft Word 12.0 Object Library

Pourtant j'ai office d'installé sur ma machine.
cs_Le Pivert
Messages postés
6293
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2019
87 -
Voir ceci



ensuite tu auras cela:

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.