• 検索結果がありません。

ゕジェンダ Visio ソリューションの例 Visio オブジェクトモデル VBA サンプルコード TIPS Visio 2007 新機能 Visio ソリューションの公開

N/A
N/A
Protected

Academic year: 2021

シェア "ゕジェンダ Visio ソリューションの例 Visio オブジェクトモデル VBA サンプルコード TIPS Visio 2007 新機能 Visio ソリューションの公開"

Copied!
44
0
0

読み込み中.... (全文を見る)

全文

(1)

第69回

MSDN オフライン セミナー

VISIO 2007

VBA プログラミング入門

マ゗クロソフト株式会社 Visioグループ

テクノロジースペシャリスト

木村 佳代

(2)

ゕジェンダ

Visio ソリューションの例

Visio オブジェクトモデル

VBA サンプルコード、TIPS

Visio 2007 新機能

Visio ソリューションの公開

(3)

Visio ソリューションの開発

Visio ソリューションは

実物をモデル化した図形(シェ゗プ)と

図面に対して特定の制御を行なう

(4)

Visio ソリューションの例

Microsoft Office Visio 内部統制文書化ツール

http://www.microsoft.com/downloads/details.aspx?FamilyId=ABB8F9BB-952A-4160-A664-77018DD765A3&displaylang=ja

フォルダアクセス権マップ

http://www.visio.jp/dl/accessright/accessright.html

Web プレゼンス

http://www.visio.jp/dl/visWebPresence/index.html

Microsoft Active Directory Topology Diagrammer (ADTD)

http://www.microsoft.com/downloads/details.aspx?familyid=cb42fc06-50c7-47ed-a65c-862661742764&displaylang=en

SQL Server 2005 Data Mining Add-ins for Office system

http://www.microsoft.com/downloads/details.aspx?FamilyId=7c76e8df-8674-4c3b-a99b-55b17f3c4c51&displaylang=ja

(5)

Microsoft®Office Visio®2007 で実現 内部統制の整備には、業務プロセスの可視化とプロセスに存在するリスクの可視化が必要となります。企業には様々な業務プロセスが存在し 多くは複数の部署が関連する業務プロセスです。業務プロセスの文書化は、内部統制の整備作業でもっとも時間のかかるプロセスの1つとい われており、この作業を効率化することが内部統制の早期構築につながります。 Visio 2007 では、業務フローチャートを効率的に作成するための機能が大幅に強化されています。

コンプライアンス強化と業務効率化を実現

直感的な操作を実現する、使い慣れたOffice準拠の゗ンターフェ゗スで見栄えのする業務フロー図をすばやく作成 無料の内部統制文書化ツールを活用することで文書化作業をより効率化できます。 作図補助・自動化機能で作成時間を短縮 図形同士の接続を自動化するオートコネクトは ワンクリックで図形の均等配置とコネクタの接続を実現 図形を移動しても、線の接続関係は維持されるので 手作業で修正する必要もありません。 コネクタ上に図形を配置するだけで、自動的にコネクタが 分割、再接続されます。 豊富に用意された作図を効率化するスマートシェ゗プや テンプレートを利用して作図を効率化します。 ビジネスデータとVisio図面の統合が簡単に データをVisioへインポート、リンク ExcelやSQL Serverなどのデータベースと ドラッグ ゕンド ドロップする簡単にリンクし Visioの図形データに取り込みが可能。 ビジネスデータとVisio図面の統合が簡単に Visioからデータをエクスポート 部門、処理内容、リスク、コントロールなどをVisioの図形データに 入力し、レポートに出力すれば、RCMや業務記述として出力可能 レポートはExcel、HTML、Visio図面、XMLなどの形式で出力可能 Excelに出力した RCMの゗メージ リスクやコントロールを可視化 図形に格納されたリスクやコントロールのデータを 図形の横や上に表示したり、データバーやゕ゗コン などを使った視覚的な表現が可能 重要度の高いリスクや実施頻度の高い統制などを 強調表示することで、的確な統制活動を実現 フロー図 業務記述 RCM 内部統制文書化ツールで業務プロセスを文書化 業務プロセスの文書化を効率的に行うための専用テンプレート Webサ゗トから無料でダウンロードできます。 リスク、コントロールを可視化する専用のシェ゗プを用意 Excelで作成したRCMやプロセス情報からVisioの業務フロー図を生成 Visioで作成、編集した業務フロー図からRCM、業務記述書を簡単に生成 Excelに加えた変更をVisio図面に簡単に反映

(6)

フォルダ ゕクセス権マップ

フゔ゗ルサーバー上の共有フォルダの構成とゕクセス権を

VisioやExcelに出力し、設定状況を一目で把握できるツール

Active Directoryから共有フォルダのリストを取得可能 VisioやExcelへ出力する際、階層の深さを指定可能 共有ゕクセス権、 NTFS ゕクセス権の設定状況を表示 指定したゕカウントが設定されているフォルダをビジュゕルに検索

(7)

Web プレゼンス テンプレート

Visio で作成した図面に

Microsoft Office Communicator のプレゼンス情報を

付与しWeb形式で保存

図面上でリゕルタ゗ムにプレゼンス情報を把握

応対可能 退席中 オフラ゗ン 取り込み中 プレゼンス ゕ゗コン ダウンロードURL : http://www.visio.jp/dl/visWebPresence/index.html

(8)

Active Directory Topology Diagrammer

(ADTD)

ActiveX Data Objects (ADO) を利用して

Active Directory 構造、Exchange 組織を

Visio に出力するツール

Active Directory トポロジー

ドメ゗ン、サ゗ト、OU構造

Exchange 組織

(9)

SQL Server 2005

Data Mining Add-ins for Office system

SQL Server 2005 Analysis Services の

データマ゗ニング モデルの処理結果を

(10)

Visio の開発手法

図形開発

クリップゕート的な図形の作成 (図形編集機能)

形状や動きが変わる図形の作成 (シェ゗プシート)

VBA

よく使う機能や操作の自動化

マクロの記録機能を活用

ゕド゗ン/ゕドオン

Visio 機能の拡張

VB、VB.NET、C#、C++ などの開発言語を利用

Visual Studio Tools for Office を利用すると便利

(11)
(12)

Visio 開発プラットフォーム

(13)

シェ゗プ シート

シェ゗プの立ち振る舞いを定義

全オブジェクトにシェ゗プシートが存在

スプレッド シート形式

(14)

シェ゗プシートの開き方

[ウゖンドウ] メニュー

[シェ゗プシートの表示]をクリック

開発者モードで実行時し

シェ゗プのショートカット メニューから起動

[ツール]メニュー – [オプション] –[詳細設定]

(15)

Visual Basic for Applications (VBA)

Visioには 他のOffice と同様に

VBA プログラミング環境が用意されている

VBよりも高速に動作

(16)

マクロの記録

1. [ツール] メニュー - [マクロ] - [新しいマクロの記録] をクリックします。 2. [マクロ名] ボックスにマクロ名を入力します。 3. [OK] をクリックし、マクロの記録を開始します。 4. マクロとして記録する操作を実行します。 マクロの記録時は、マウスを使用してコマンドとオプションをクリックでき、 図面上の図形およびオブジェクトで作業ができます。 5. マクロの記録を停止するには、 [記録]ツールバーの で [記録終了 ] をクリックします。 Visual Basic Editor で記録されたコードを確認できます。

(17)
(18)

特別なオブジェクト

ThisDocument オブジェクト

Visio フゔ゗ルを表すDocument オブジェクト

プロジェクト内のコードから参照すると

そのプロジェクトのDocument オブジェクトを返す

Global オブジェクト

Visio フゔ゗ルの VBA プロジェクト内の

コードのみで使用

オブジェクトに直接ゕクセス

(19)
(20)

Document オブジェクトの利用

図面を開く

Public Sub OpenDocument_Example()

'既存図面を開くには Open メゾットを利用 '新規図面を作成するには Add メゾットを利用

Dim vsoDocument As Visio.Document

'既存の図面を開く

Set vsoDocument = Documents.Open("C:¥Demo¥Sample.vsd")

'新規図面を開く

Set vsoDocument = Documents.Add("")

'テンプレートを開く

Set vsoDocument = Documents.Add("C:¥Demo¥Sample.vst")

(21)

Document オブジェクトの利用

図面を閉じる

Sub DocumentClose_Example() '図面を閉じる ThisDocument.Close End Sub

(22)

Page オブジェクトの利用

ページの追加

Public Sub Add_Page_Example()

'ページを追加する

Set pagObj = ThisDocument.Pages.Add

'ページ名を変更する

For Each objPage In ThisDocument.Pages I = I + 1

objPage.Name = "図面" & I Next

(23)
(24)

Shape オブジェクトの利用

シェ゗プ数をカウントする

Sub Shape_Count_Example()

Dim oShapes As Visio.Shapes Dim oShape As Visio.Shape Dim Counter As Integer

Set oShapes = ActivePage.Shapes Counter = 0

‘図面上のシェ゗プ数をカウント For Each oShape In oShapes

If oShape.Type = visTypeShape Then Counter = Counter + 1

End If Next

Debug.Print Counter

(25)

Cell オブジェクトの利用

シェ゗プシートの参照

Sub ShapeCellsSRC_Example()

Dim shpObj As Visio.shape

'ゕクテゖブなシェ゗プを取得

Set shpObj = ActiveWindow.Selection(1)

‘ShapeData セクションの1行目、Valueセルの値を設定 ‘shape.CellsSRC( <Section>, <Row>, <Cell>)

shpObj.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = 12

(26)

ローカル名と汎用名

Visio 2000 以降、ローカル名と汎用名の

両方を使用してVisio オブジェクトを参照できる

Visio 2003 以降、シェ゗プシートでは

セル数式と値に汎用名だけが表示される

汎用名の利用を推奨

例: “処理” マスタシェ゗プ

ローカル名 : Master.Name = “処理”

汎用名 : Master.NameU = “Process”

(27)

シェ゗プの取得

Public Sub GetShape_Example()

Dim vsoShape As Visio.Shape

'ゕクテゖブページ内のシェ゗プ一覧を表示

For Each vsoShape In ActivePage.Shapes Debug.Print vsoShape.NameU

Next

(28)

ステンシルの取得

Sub GetStenci_Example()

Dim vsoDocument As Visio.Document Dim vsoDocuments As Visio.Documents

Set vsoDocuments = Visio.Documents

'ステンシルの一覧を表示

For Each vsoDocument In vsoDocuments Debug.Print vsoDocument.Name

Next

(29)

図面ページに

マスタシェ゗プをドロップする

Public Sub DropShape_Example()

Dim stencil As Visio.Document, mstCircle As Visio.Master

'ステンシルを指定 Set stencil =

ThisDocument.Application.Documents.Open("BASFLO_M.VSS")

ThisDocument.Application.Windows(ThisDocument.Index).Activate

'マスタシェ゗プを指定

Set mstCircle = stencil.Masters.ItemU("Process")

‘シェ゗プをページにドロップ X座標、Y座標を指定 ‘座標は゗ンチで指定

ThisDocument.Pages(1).Drop mstCircle, 2, 10

(30)

Connect オブジェクト

Visio 固有のオブジェクト

図形と図形の接続関係を表す

接続元(GlueFrom)、接続先(GlueTo)

'GlueTo メソッドを使用して 1 次元図形の始点を ‘下の 2 次元図形の右上の頂点 (Geometry1.X3) に接着 vsoCellGlueFromBegin.GlueTo vsoCellGlueToObject 'GlueTo メソッドを使用して 1 次元図形の終点を ‘上の 2 次元図形の左下の頂点 (Geometry1.X1) に接着 vsoCellGlueFromEnd.GlueTo vsoCellGlueToObject2

(31)

AutoConnectオブジェクトの利用

コネクタ接続

Public Sub AutoConnectShapes() Dim vsoShape1 As Visio.Shape Dim vsoShape2 As Visio.Shape

Dim vsoConnectorShape As Visio.Shape

Set vsoShape1 = Visio.ActivePage.Shapes("判断") Set vsoShape2 = Visio.ActivePage.Shapes("処理")

Set vsoConnectorShape = Visio.ActivePage.Shapes("動的コネクタ")

vsoShape1.AutoConnect vsoShape2, visAutoConnectDirRight, vsoConnectorShape End Sub

(32)

Visio 2007 に

追加されたオブジェクト

データソースへの接続、図形とデータのリンク

データグラフゖック表示、図形の自動接続

(オートコネクト) など、Visio 2007 の新機能を

プログラムにより制御可能

DataColumn

DataColumns

DataConnection

DataRecordset

DataRecordsets

GraphicItem

GraphicItems

(33)

DataRecordset オブジェクトの利用

データ接続

Public Sub AddDataRecordset_Example() Dim strConnection As String

Dim strCommand As String Dim strOfficePath As String

Dim vsoDataRecordset As Visio.DataRecordset strOfficePath = Visio.Application.Path

strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _ & "User ID=Admin;" _

& "Data Source=" + strOfficePath + "SAMPLES¥1041¥ASTMGT.XLS;" _ & "Mode=Read;" _

& "Extended Properties=""HDR=YES;IMEX=1;MaxScanRows=0;Excel 12.0;"";" _ & "Jet OLEDB:Engine Type=34;"

strCommand = "SELECT * FROM [ネットワーク機器$]"

Set vsoDataRecordset = ActiveDocument.DataRecordsets.Add(strConnection, strCommand, 0, “ネットワーク機器") End Sub

(34)

DropLinked メゾットの利用

データをリンクした図形の作成

Public Sub DropLinked_Example() Dim vsoShape As Visio.Shape Dim vsoMaster As Visio.Master Dim dblX As Double

Dim dblY As Double

Dim lngDataRowID As Long

Dim vsoDataRecordset As Visio.DataRecordset Dim intRecordesetCount As Integer

intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count

Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) Set vsoMaster = Visio.Documents("SERVER_M.VSS").Masters.ItemU("Database server") dblX = 1

dblY = 10

lngDataRowID = 1

Set vsoShape = ActivePage.DropLinked(vsoMaster, dblX, dblY, vsoDataRecordset.ID, lngDataRowID, True) End Sub

(35)

Selection.DataGraphic プロパテゖの利用

データ グラフゖックの適用

Public Sub ApplyDataGraphic()

Dim vsoSelection As Visio.Selection

'ゕクテゖブ ウゖンドウ内の全オブジェクトを選択 ActiveWindow.SelectAll

Set vsoSelection = ActiveWindow.Selection 'データグラフゖックを適用

vsoSelection.DataGraphic = ActiveDocument.Masters("カスタムデータグラフゖック") End Sub

(36)

シェ゗プシートからの

プログラム実行

利用セクション

[Actions] セクション

[Events] セクション

関数

RUNADDON関数

マクロやゕドオンを実行

CALLTHIS関数

プロシージャの呼び出し

(37)

Visio ソリューションの公開

ステンシル

(.vss および .vsx フゔ゗ル)

テンプレート

(.vst および .vtx フゔ゗ル)

Visio ソリューション ラ゗ブラリ ゕドオン

(.vsl フゔ゗ル)

実行可能形式のゕドオン

(.exe フゔ゗ル)

ヘルプ フゔ゗ル

(.chm および .aw フゔ゗ル)

(38)

フゔ゗ルパスの指定

Visio が既定でフゔ゗ルの検索や保存をする場所を指定

[ツール] メニューの [オプション] - [詳細設定] タブ

[フゔ゗ル パスの設定] で指定

既定設定 ( Microsoft Windows Vista の場合 )

個人用図形

ユーザー¥ユーザー名¥ドキュメント¥個人用図形

図面

ユーザー¥ユーザー名¥ドキュメント

テンプレート、ステンシル、ヘルプ

Program Files¥Microsoft Office¥Office12¥言語

ゕド゗ン

(39)

開発リフゔレス

ソフトウェゕ開発キット(SDK)

Visio の図形を設計、開発およびプロダクテゖブ ツールです。

スマート シェ゗プを使用したプロジェクト管理、仕様と設計、開発、

検証を容易にするカスタム作業環境を提供します。

ヘルプ

Visio 2007 を使用したソリューションの開発の概要、

プログラミング タスク、サンプル、リフゔレンスが含まれています。

(40)

参考情報

MSDN Visio 技術資料一覧

http://www.microsoft.com/japan/msdn/office/understanding/visio.aspx

- SDK のダウンロード、情報ラ゗ブラリ

- Visio カスタマ゗ズ テクニック 講座

Visio 自習書

http://www.microsoft.com/japan/office/2007/visio/trainingtext.mspx

- 作図編、シェ゗プシート編、VBA編ほか、他製品との連携も用意

Visio ブログ

http://blogs.msdn.com/visioj/

Visio コミュニテゖ サ゗ト

http://www.visio.jp/

(41)

Visio 2007 製品体系

機能 一新した「作業の開始」画面 オートコネクト機能 テーマ機能 隠し情報の削除 Web や PDF, XPS 形式での共有 機能 データ リンク、データ グラフゖック機能 ピボット ダ゗ゕグラム機能 新しいテンプレート (ITIL 図、バリュー ストリーム マップ) テンプレートのサンプル表示 Standard の機能全て 主な用途 専門的な作図 システム管理、業務フロー、仕様書 レ゗ゕウト図など データと連携をした作図 データと図面の一元管理 情報の可視化と分析 主な用途 図を含んだ文書作成 企画書、提案書、組織図など

(42)

まとめ

Visio の開発手法

クリップゕート的な図形の作成 (図形編集機能)

形状や動きが変わる図形の作成 (シェ゗プシート)

よく使う機能や操作の自動化 (VBA)

ゕド゗ン/ゕドオン (Visual Studio / VSTO)

VBA プログラミング環境が用意

Office VBA の知識をVisio VBA でも活用できる

Visio 2007 の可能性は無限大

ぜひご活用ください!!

(43)

Visio Professional 2007

知って、試して、トクする

キャンペーン実施中!!

http://go.microsoft.com/?linkid=7705458

(44)

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

参照

関連したドキュメント

デジタル版カタログ web 版 STIHL カタログ 希望小売価格一覧 最新情報は、上記

「系統情報の公開」に関する留意事項

出典 : Indian Ports Association &amp; DG Shipping, Report on development of coastal shipping 2003.. International Container Transshipment Terminal (ICTT), Vallardpadam

【原因】 自装置の手動鍵送信用 IPsec 情報のセキュリティプロトコルと相手装置の手動鍵受信用 IPsec

に文化庁が策定した「文化財活用・理解促進戦略プログラム 2020 」では、文化財を貴重 な地域・観光資源として活用するための取組みとして、平成 32

2 学校法人は、前項の書類及び第三十七条第三項第三号の監査報告書(第六十六条第四号において「財

Google マップ上で誰もがその情報を閲覧することが可能となる。Google マイマップは、Google マップの情報を基に作成されるため、Google

例1) 自社又は顧客サーバの増加 例2) 情報通信用途の面積増加. 例3)