Ajouter un tableau à un document microsoft avec des composants web de bureau

Est-il pas étonnant de voir comment quelque chose d`aussi simple que la création d`un tableau peut se sentir si compliqué parfois? Que vous utilisiez Excel, Word, Powerpoint ou Access - parfois, il serait bien d`insérer simplement un tableau rapide avec un tas de données sans avoir à faire beaucoup de la configuration et de bricoler.

Dans cet article, je vais vous montrer comment utiliser un vraiment pratique et simple objet VBA de Microsoft Office Web Components qui vous permet d`insérer un graphique directement dans un document, une présentation ou toute autre chose où vous pouvez créer un code VBA pour l`exécuter. Cela peut aussi inclure des produits non-Microsoft qui ont un arrière-plan VBA, dont beaucoup font.

Dans cet exemple, je vais vous montrer comment activer le mode de conception dans votre programme (dans ce cas, nous allons utiliser Microsoft Word), intégrer l`objet graphique dans votre projet, puis comment écrire le code qui remplit avec des données.

Dans certains de mes articles passés VBA, certains d`entre vous ont mentionné que la tâche était un peu trop compliqué pour quelqu`un qui n`a jamais code écrit avant. J`espère qu`après avoir lu cet article, vous serez motivé pour essayer votre main avec VBA. Le code inclus ici est très simple et facile à écrire. Intégrer ce tableau est une excellente façon de vous salir les mains avec VBA si vous ne l`avez jamais essayé avant.

Si vous ne connaissez VBA, cela est un excellent outil pour commencer à intégrer des graphiques rapides dans vos projets avec beaucoup moins d`effort que jamais.

Activation du mode de conception

Dans cet exemple, je voulais mettre en place un document rapide avec un graphique intégré qui affiche les données du mois en cours de mon budget, ainsi que la moyenne mensuelle des dépenses année à ce jour.

Video: Polywall Online Training (English)

Dans cet exemple, je vais placer ces valeurs codées en dur dans un « tableau » à l`intérieur du code VBA, mais en fin de compte, vous pouvez utiliser une variété de techniques pour charger les variables de tableau (un tableau est simplement une variable qui contient un liste des valeurs) provenant d`autres sources, comme une feuille de calcul externe, ou même un formulaire où vous entrez les valeurs manuellement chaque mois.

Pour savoir comment importer des données dans Word à partir d`Excel, consultez mon article sur le sujet. Aux fins de cet article, nous allons nous concentrer sur la création du graphique pour afficher les données.Comment intégrer les données Excel dans un document WordComment intégrer les données Excel dans un document WordAu cours de votre semaine de travail, il y a probablement beaucoup de fois que vous vous trouvez copier et coller des informations à partir d`Excel dans Word, ou l`inverse. Voilà comment les gens produisent souvent des rapports écrits ...Lire la suite

Maintenant que j`ai commencé mon document, je veux entrer dans le code. Dans Word ou Excel, vous faites cela en cliquant sur « Fichier », « Options » puis cliquez sur l`option pour personnaliser le ruban. Sur le côté droit des options, vous verrez le « Personnaliser le ruban » colonne, et dans le champ « onglets principaux » vous devriez voir « développeur » sans contrôle. Cochez la case correspondante.

Retour sur votre document, vous devriez maintenant voir l`élément de menu « Developer » disponible. Dans ce menu, vous trouverez le bouton « Mode Design ».

Cliquez sur le mode Création, puis cliquez sur ce dossier / outils icône « Outils hérités », puis dans le coin inférieur droit de la boîte de pop-up, sous les contrôles ActiveX, cliquez sur le bouton « Autres contrôles ».

Faites défiler la liste des commandes disponibles jusqu`à ce que vous obtenez « Microsoft Office Chart xx.x ». Si vous avez Microsoft Office installé sur votre ordinateur, ce contrôle sera très probablement disponible.

Une fois que vous insérez le contrôle dans votre document, vous verrez apparaître comme une boîte qui dit: « Microsoft Office Web Components » à l`intérieur. Ceci est essentiellement votre tableau vide, prêt à afficher vos données.

L`étape suivante consiste à écrire le code qui établira votre type de graphique et d`afficher les données. Si vous voulez que le processus soit manuel, vous pouvez placer un bouton sur le document qui charger les données dans le tableau, mais dans mon cas je voulais tout ça pour être complet automatisé. Au moment où j`ouvre le document, je le voulais pour exécuter le script qui charge le graphique, vous pouvez le faire dans le code (cliquez sur le bouton Visual Basic pour entrer dans l`éditeur de code) et en sélectionnant l`objet de document, et événement « Open ».

Cela placera automatiquement une fonction vide appelée « Document_Open () » dans votre code. A l`intérieur de cette fonction, vous voulez coller le code suivant.

Sous Document_Open (privé) Dim i As Integer Dim OERVSCO Dim oSeries1 Dim oSeries2 « Créer des tableaux pour les valeurs x et les valeurs y Dim XValues ​​Comme variante, yValues1 Comme variante, yValues2 Comme variante XValues ​​= Array ("Facture d`électricité", "Hypothèque", "Facture téléphonique", _ "chauffage Bill", "Les courses", _ "De l`essence", "vêtements", "Achats") yValues1 = Array (124,53, 1250,24, 45,43, 253,54, 143,32, 259,85, 102,5, _ 569,94) yValues2 = Array (110, 1250, 50, 200, 130, 274, 95, _ 300)

Cette section de code crée trois tableaux. La première (XValues) est essentiellement votre liste x-axe des descriptions de chaque élément de données. Dans mon cas, je crée un graphique à barres de colonne avec yValues1, mais vous pouvez également créer un graphique linéaire. Je vais vous montrer comment faire avec yValues2. Maintenant, collez le segment suivant du code.

 avec ThisDocument.ChartSpace1 .Clair .Rafraîchir Set OERVSCO = .Charts.Add oChart.HasTitle = True oChart.Title.Caption = "Numéros de budget mensuel vs moyenne"

Cette section de code crée crée en fait le tableau lui-même dans votre conteneur « ChartSpace ». Votre graphique ne dispose pas de données à ce stade, mais avec quelques commandes que vous pouvez définir le titre du graphique ainsi que la légende. Maintenant, il est temps d`ajouter les données. Collez le code suivant sous le code que vous avez déjà collé à le faire.

Set oSeries1 = oChart.SeriesCollection.Add avec oSeries1 .Légende = "Ce mois-ci" .SetData chDimCategories, chDataLiteral, XValues .SetData chDimValues, chDataLiteral, yValues1 .Type = chChartTypeColumnClustered Terminer par « Ajouter une autre série au tableau avec les valeurs x et y des valeurs « Des tableaux et définir le type de série à un graphique de ligne Set oSeries = oChart.SeriesCollection.Add avec oSeries .Légende = "dépenses moyennes" .SetData chDimCategories, chDataLiteral, XValues .SetData chDimValues, chDataLiteral, yValues2 .Type = chChartTypeLineMarkers Terminer par

Le code ci-dessus crée deux séries à afficher dans votre graphique. La première série configure les données à afficher dans l`objet graphique en tant que format « ColumnClustered », et la deuxième série est configuré pour afficher en tant que format « TypeLineMarkers ». Cela permet d`afficher les deux ensembles de valeurs sur le même graphique, mais il va utiliser différents types de graphiques - qui peut effectivement être un moyen très cool pour afficher et comparer plusieurs ensembles de données.

Maintenant que les données sont ajoutées, tout ce qui reste est de ranger l`axe et terminer les détails du tableau.

 `Format des Haches Valeur
 oChart.Axes (chAxisPositionLeft) .NumberFormat = "$ #, ## 0" oChart.Axes (chAxisPositionLeft) .MajorUnit = 1000 « Afficher la légende au bas du tableau oChart.HasLegend = True oChart.Legend.Position = chLegendPositionBottom
 Terminer par
End Sub

Le code formate au-dessus des chiffres sur l`axe de gauche pour afficher au format numérique dollar. La ligne suivante configure la limite maximale de l`axe vertical. Comme je sais que des éléments individuels ne vont pas plus de 1000 $, c`est ce que je mets la limite d`axe Y max à.

Video: Table rowspan colspan

Enregistrez le document, le fermer, rouvrir, et le tour est joué - up est votre thème natal, automatiquement chargé avec les données de vos deux tableaux.

Maintenant que vous savez comment insérer les cartes et charger automatiquement les données en eux, il suffit de penser aux possibilités. Tout ce que vous avez à faire est d`obtenir des données externes dans ces tableaux - peut-être une feuille de calcul Excel, peut-être une base de données d`accès, ou toute autre chose - et tout à coup ce document devient une fenêtre très dynamique et précieuse dans les données stockées.

Ceci est juste la pointe de l`iceburg avec MS Office Web Components objets. J`ai commencé avec les cartes parce que je trouve cette caractéristique d`être le plus excitant. Pour ajouter des graphiques à toute application VBA que vous voulez avec un script très court est très utile et très puissant.

Si vous êtes tous sur les cartes, pourquoi ne pas donner cet objet graphique un essai? Connaissez-vous d`autres objets de création de graphiques utiles pour VBA? Comment intégrez-vous les données dans vos applications? Partagez vos idées et expériences dans la section commentaires ci-dessous.

Articles connexes