約 861,289 件
https://w.atwiki.jp/visiovba/pages/17.html
Visio VBA基礎知識 と、表題しているが、何が、どこまでが基礎知識かわからない。 なので、ずらずら調べたそばからメモしていく。 Amazon.co.jp ウィジェット 最初にやっておくべきこと VBAに手を出す際にまずやっておくべきことというものがある。 と言ってもVBAの基本ができているなら、やることはたった1.5個しかない。 それは『変数の宣言を強制する』チェックボックスをONにする事だ。 場所はVBEのメニューバーから、"ツール" = "オプション" = "編集"タブにある。 次に、既存のモジュールの冒頭に Option Explicit を追加する事も忘れてはいけない。 『変数の宣言を強制する』チェックボックスをONにすると、新規作成したモジュール等の冒頭に"Option Explicit"が自動で挿入されるようになるが、既に存在するモジュールには追加されない。 忘れずに挿入しておくようにしよう。 構成要素の捉え方(概念) 人間から見れば、Visioの操作とは、あたかも画用紙の上にシールを張り付けたり、スクラップを糊付けしたり、マーカーやサインペンで装飾、メモを書き記すようなものである。 その配置できるパーツの数々がデジタル情報となったことで汎用性や拡張性、種類や色彩が豊富になったこと、そのパーツへのアクセスにマウスやキーボードなどのインターフェースを介する必要があることなどを除けば、両者の差異はそれほど大きくない。 無論、それはコンピューターソフトウェアが現実を模倣し、その代用にならんとする発展の結果もたらされたのであるから、その進歩のめまぐるしさに目をつぶれば当然の結果である。 デジタルネイティブな世代であれば、それらは直感的にマウスやキーボードによって操作されてしかるべきだし、そうではないデジタルイミグラントな世代であっても、マウスが机の端まで行ってしまいそれ以上動かせない、などという状況に陥る輩は少数派となって久しい。 実際、Visioを使用している方の多くは、描画における諸操作のうち、基礎的な部分(図形の移動、サイズ変更、文字列挿入)をほぼ無意識に行っているだろうし、その背景でどのような事が行われているかなど意識する必要はない。 しかし、我々がこれからやろうとしていうのはVBA、すなわちプログラムから、図形を操作しようという試みである。 であるのなら、無意識の中でマウスを動かしてクリックしている"ソレ"を、文字列で表現する術を知らなくてはならない。 まずは以下のリストを眺めてほしい。 Application - Visioソフト(動作中のインスタンス)Document - VisioファイルMaster - シェイプのコピー元Connect - 接続ポイント Layer - レイヤー Shape - シェイプ Page - Excelで言うところのシートConnect - 接続ポイント Layer - レイヤー Shape - シェイプHyperlink - ハイパーリンク Characters - テキスト Cell - シェイプシート上のセル ご覧のように、ある要素の配下に子要素がぶら下がっている様子がわかると思う。 Visioでは各構成要素がディレクトリ構造を成している。ツリー状構造と言い換えてもいい。 ここまでくれば察しの良い方なら気づかれるだろうが、Visioにおける構成要素の指定は、コンピューターにおけるパス指定や、WEBのURLと同じく、最上位の構成要素から子要素に向かって順にその経路を記述していく事で実現する。 上の例でいうと、ShapeはDocument.Master.Shapeの位置と、Document.Page.Shapeの位置に存在する。両者の違いについては追々調べていくとして、ここではVisioで描画した各パーツが文字列ではどのように表現されるかを掴んでおきたい。 尚、既に断りなく記述しているが、各要素間を区切る文字は".(ピリオド)"を使用する。 ここで適当にマクロを記録してみてほしい。 Sub Macro1() Application.Windows.ItemEx("図面1").Activate Application.ActiveWindow.Page.Drop Application.Documents.Item("BASFLO_M.VSS").Masters.ItemU("Process"), 2.46063, 10.826772 End Sub どうだろうか? それぞれの単語の意味はわからなくとも、そこかしこに階層構造が存在する事は見て取れるのではないだろうか。 要素だけでなく命令も階層の中に ここで初心者にとってVisio VBAをわかりにくくしている要素として、メソッドやプロパティも同様の表現によって定義されている。という点が考えられる。 例えば、 Application.ActiveWindow.Selection.Move -1.84685, 0.035827 という指示があったとしよう。 これは選択範囲を指定座標へ移動する動作を表している。 この時、末尾の数字はどうやら座標であることがわかる。 その直前の".Move"は読んで字のごとく、何かを動かすための指示だという事もわかるだろう。 さらに察しの良い人であれば、".Move"の直前にある".Selection"が『選択された対象』であることも気づけるだろう。 つまり、少なくとも".Move"は描画された図を構成するパーツのうち、特定の操作対象を指し示すものではなく、そのパーツにどのような変化を起こすかを指示するための"命令"であることがわかる。 無論、その"命令"とは『動かしなさい』だ。 そして、その"命令"の対象は".Move"の直前に".Selection"として記述されている。 操作対象.命令 という状態だ。 なんだ簡単ではないか、と最初に見たとき私はそう思ったわけだが、実際にはそううまくいくものではない。 例えば、以下である。 Application.ActiveWindow.Page.Shapes.ItemFromID(6) 対象シェイプを補足するで解説するが、上記はすでに配置済みのパーツのうち、特定のID(上記例では"6")を持つパーツを表している。 ここまでの事例を参考に、安直な私は以下のように記述してみたわけだ。 Application.ActiveWindow.Page.Shapes.ItemFromID(6).Move -1.84685, 0.035827 これでパーツを動かせる!と喜び勇んでコードを実行すると、ご丁寧にエラーウインドウが表示され、こう言われてしまったのである。 『オブジェクトは、このプロパティまたはメソッドをサポートしていません。』 要するに、上記の書き方でパーツを指定するやり方では".Move"は使えませんという事だ。 このエラーにはかなり混乱させられた。というか、現在進行形で確たる回答には至っていない。 ただ、まだ調べていないだけで回答候補はあるので、ここでは、こういうものなのだという一例として取り上げ、詳細な調査と解説は4種の命令とプロシージャ(今考えた題名、まだ作ってない20130516⇒作った20130523)で行うものとする。 知っておくべき用語リスト 説明するにしろ、説明を読むにしろ、用語がわからないのでは効率が悪い。 そのうち用語集としてページ分割するかも。 以下にまとめておく。 自分で調べるべき用語 VBAをやろうというのに、これくらい知らないでやろうというのは甘いんじゃないの?という用語リスト。 No. 用語 意味 01 ページ これから設計図なりフローチャートなりを描こうとしているその場所の事。さまざまな構成パーツを配置するフィールド。 02 シェイプ Visioを使用して図を描画しようとする際に用いられる構成要素の一つ。特に特殊な動作や定義を内包する特殊な図の事。 03 マスターシェイプ よく使用されるシェイプや、汎用性の高いシェイプのコピー元となるシェイプ。ほかにユーザーが独自にその動作を定義し、登録されたものも含む。 04 ステンシル あるテーマにそって集められたマスターシェイプで構成されるグループの事。拡張子『.vss』を持つファイルとして保存されている。 05 ドロップ 『ステンシルに登録されたマスターシェイプから一つを選択し、ページ内にドロップする事でシェイプを生成する』という例文で理解しろ。 06 コネクタ シェイプとシェイプを接続する直線パーツの事。または、その性質を定義されたシェイプの事をそのように呼称する。 07 接続ポイント 多くのシェイプに用意されているシェイプ上の結合点の事。コネクタの両端にも存在する。マウスで操作する場合、シェイプの接続ポイントとコネクタの接続ポイントは磁石のように吸着しあい、接続が完了すると、データ的に結合される。結合状態では、例えばあるシェイプの接続ポイントに対し、コネクタの端点にある接続ポイントを結合した場合、シェイプの移動に伴いコネクタがその移動動作に従属する。一般的にシェイプの移動によるコネクタの従属は、コネクタ側の伸長・収縮変化によって行われる。 08 テキストボックス Visioを使用して図を描画しようとする際に用いられる構成要素の一つ。特にページ上にテキストのみを配置したい場合に用いる枠線の存在しない方形のパーツである。 09 編集用行 ~随時追加予定 少々難解な用語 紛らわしい用語や、難解な用語のリスト No. 用語 意味 01 コレクション 02 インスタンス 小難しい説明を省けば、分身の術みたいなもん。本体の性質を持つ分身体がインスタンス。ある技能を持った人がもう一人いたらいいなーとか思うべ?プログラムならそれができちゃう感じ。 03 クラス ……分身の術みたいなもん。分身体に対する本体がクラス。分身体がインスタンス。 04 メンバ 05 Globalオブジェクト 06 ThisDocumentオブジェクト 以下、更新中 Amazon.co.jp ウィジェット
https://w.atwiki.jp/microsoftexcelmatome/pages/15.html
概要 VBAとは何か。 簡単に言うと、プログラムを書いてExcelに人間様がやっているお仕事をやらせ、キリキリ働かせて残業をゼロにするためのツールである。 おつむの弱い人には使いこなせない。 もうちょっとマシな概要 「マクロを記録」で自動生成したコードを編集しながらヘルプを引いて学習することで、事務員さんであっても瞬く間に一流のプログラマーにしてしまう恐るべきMicrosoftのキラーアプリであるMS Officeのマクロ環境のこと。 vimxls(ググれ)のように編集のキーバインド自体をテキストエディタのようにしてしまうようなアドインすら存在する。 Tips VBE[?] ウォッチ式の追加[?] ヘルプの引き方[?] 対話的操作 エラーのトラップ VBAを書かずにExcelやWordやOutlookを自動運転してPDFやらを作ったりする range.offset などの成句で引くとそのものずばりが出る。(2010のみ?)
https://w.atwiki.jp/keiplus/pages/171.html
VBA Excel vba 本項は書きたての記事です。正確な情報は公式サイト、公式ドキュメント、記載の参照サイトでご確認ください。 主要メソッド - "" メソッド 説明 Usage TypeName 変数の型名 VarType 型情報を数値 Evaluate 式の結果の値、またはオブジェクト取得 アクション No 手順、ソースコード等 備考 1 入力待ち状態(Worksheetのイベント) DoIf thenxxxEnd IfLoop Worksheetのイベント + 読む 分類 イベント 発生条件等 Active Activate ブック、ワークシート、グラフ シート、または埋め込みグラフがアクティブになったときに発生します。 Click BeforeDoubleClick 既定のダブルクリックの操作の前に、ワークシートをダブルクリックしたときに発生します。 Click BeforeRightClick 既定の右クリックの操作の前に、ワークシートを右クリックしたときに発生します。 Calculate Calculate ワークシートを再計算した後に Worksheet オブジェクトで発生します。 Change Change ワークシートのセルがユーザーまたは外部リンクにより変更されたときに発生します。 Active Deactivate グラフ、ワークシート、またはブックが非アクティブになったときに発生します。 HyperLink FollowHyperlink ワークシートのハイパーリンクをクリックすると発生します。アプリケーション レベルおよびブック レベルでのイベントについては、SheetFollowHyperlink イベントおよび SheetFollowHyperlink Event イベントのヘルプ トピックを参照してください。 PivotTable PivotTableAfterValueChange ピボットテーブル内のセルまたはセル範囲が編集または再計算された後に発生します (数式を含むセルの場合)。 PivotTable PivotTableBeforeAllocateChanges ピボットテーブルに変更が適用される前に発生します。 PivotTable PivotTableBeforeCommitChanges ピボットテーブルの OLAP データ ソースに対する変更が適用される前に発生します。 PivotTable PivotTableBeforeDiscardChanges ピボットテーブルに対する変更が破棄される前に発生します。 PivotTable PivotTableChangeSync ピボットテーブルが変更された後に発生します。 PivotTable PivotTableUpdate ピボットテーブル レポートがワークシート上で更新された後で発生します。 Change SelectionChange ワークシートで選択範囲を変更したときに発生します。 Delete BeforeDelete ワークシートが削除される前に発生します。 グラフ LensGalleryRenderComplete 引き出し線ギャラリーのアイコン (動的および静的) の表示が完了したときに発生します。 DB TableUpdate データモデルに接続されたクエリテーブルがワークシートで更新された後に発生します。 参考 [ Worksheetのイベントプロシージャー|VBA入門 ] ( https //excel-ubara.com/excelvba1/EXCELVBA425.html )
https://w.atwiki.jp/fns1556/pages/73.html
Visual Basic for Applications (Excel) 当BVAは一切責任をとりません!Downloadは最下部よりどうぞ! 1.1 Config Reader 最新版:ConfigReader_ver0.01_20180108_Rev01.zip Cisco(Catalyst)やH3C(hpスイッチ、necのQXシリーズ)のNW機器Configを指定のフォルダより読み込み、インタフェースの一覧表を作成するVBAです・・・ 以下のCisco Config ReaderとHP Config Readerを統合しました。(`・ω・´) Config Reader 旧版:Cisco_Config_Reader_ver0.03_20160313_Rev03.zip 旧版:HP_Config_Reader_ver0.01_20161018_Rev01.zip 各ベンダーのNW機器Configを指定のフォルダより読み込み、インタフェースの一覧表を作成する程度のVBAです・・・ コード汚いです・・・(´・ω・`) 2.1 ConfigMaker 最新版:ConfigMaker_ver0.01_20170304_Rev01.zip テンプレートConfigに埋め込んだ置換変数を書き換えたConfigを出力するVBAです・・・ いろいろ応用が利く?かもです・・・(´・ω・`) 全データの最終行の取得 その1 With ActiveSheet.UsedRange MaxRow = .Rows(.Rows.Count).Row MaxCol = .Columns(.Columns.Count).Column End With その2 With ActiveSheet.UsedRange MaxRow = .Find("*", , xlFormulas, , xlByRows, xlPrevious).Row MaxCol = .Find("*", , xlFormulas, , xlByColumns, xlPrevious).Column End With 参考:No.8 ワークシートの最終行、最終列を取得する PropertyのLetとSetの違い どうやらSetはオブジェクト型で、Letはそれ以外(String型等)で使用するみたい。 参考PropertyプロシージャのSetとLetはどのように使い分けるの?
https://w.atwiki.jp/wiki3_nab/pages/54.html
概要 VisualBoyAdvanceはゲームボーイアドバンスのエミュレータ。 手順/メモ 1)インストール&実行 # cd /usr/ports/emulators/vba # make install clean これだけでは動かなくて、設定ファイルをコピーする必要がある。 # cd /usr/X11R6/bin/ # cp VisualBoyAdvance.cfg-default VisualBoyAdvance.cfg 実行方法は下記の通り # VisualBoyAdvance romファイル名 2)設定 ドキュメントファイルは/usr/X11R6/share/doc/vba以下にある。 WITH_GTK2を有効にしてインストールした。 問題点、課題 CPU使用率がやたらと高い。何が問題なのか、不明。 環境 OS FreeBSD 6.1-Release PC HP D-330
https://w.atwiki.jp/shinylight564/pages/13.html
VBA ファイル読み込み VBS ファイルコピー
https://w.atwiki.jp/ipubluedictionary/pages/11.html
VBA関連のアレコレ
https://w.atwiki.jp/a3mi22/pages/69.html
VBA 基本編 エクセルの操作したり編 最終更新日をセルに設定するとき
https://w.atwiki.jp/enusii/pages/15.html
XMLMapクラスを作ってみる①汎用XMLユーティリティクラスを作る簡単なVBAでXMLサンプルコンテキストメニューを作成するメニューを作成する
https://w.atwiki.jp/parcdattras/pages/18.html
VBA セルに数式を入力する 初版:2018/11/14