2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

« 2009年5月 | トップページ | 2009年8月 »

2009年6月27日 (土)

■Word VBA(文字種の変換アイコンの不具合?)

今回はWord2000/2003の標準ツールバーにアイコンを追加しようとしたときの不具合を発見したので
紹介したいと思います。

そのアイコンとは、タイトルの通り「文字種の変換」です。
私は比較的頻繁に全角、半角、大文字、小文字の変換をするので、メニューから「文字種の変換」を
呼び出すのが面倒なので、[ユーザ設定]の[コマンド]タブに隠れているアイコンを

Mojishu1

ツールバーに追加しました。

Mojishu2

が、クリックしても変換してくれません。

しかたがないので、カスタムツールバーにVBAでアイコンを登録しました。
でも、これの方が便利かも。

Custombar
Sub 大文字に変換()
    Selection.Range.Case = wdUpperCase
   
End Sub
Sub 小文字に変換()
    Selection.Range.Case = wdLowerCase

End Sub
Sub 全角に変換()
    Selection.Range.CharacterWidth = wdWidthFullWidth
   
End Sub
Sub 半角に変換()
    Selection.Range.CharacterWidth = wdWidthHalfWidth
   
End Sub

これってバグですよねMicrosoftさん?

2009年6月20日 (土)

@アニメ(2009夏アニメOP、ED)

暑い夏の季節がやってきました(まだ梅雨ですが)。ということで2009年夏アニメの特集です。本数は継続も含めて33本ありました。最近は本格ロボットアニメが無くなりましたね。今期は2期3期というよりは新作が多い印象です。
最近mp3や歌詞を希望される方がいらっしゃいますが、無暗にネット上で公開できません。でもどうしても欲しいという方はこちらにあるかもしれませんので検索してみてはいかがでしょうか。たくさんのmp3が公開されています。未確認情報は判明次第更新していきたいと思います。

注:千葉エリアの開始年月日、発売日は変更の可能性あり(最新情報はAmazon等で確認してね)

■銀魂  2006/4/4 18:00(火)  ~    東京
    OP1:Pray|Tommy heavenly6 発売日:2006/07/05
    OP2:遠い匂い|YO-KING 発売日:2007/01/24
    OP3:銀色の空|redballoon 発売日:2007/05/09
    OP4:かさなる影|Hearts Grow 発売日:2008/01/23
    OP5:曇天|DOES 発売日:2008/06/18
    OP6:アナタMAGIC|monobright 発売日:2009/01/14
    OP7:Stairway Generation|Base Ball Bear 発売日:2009/08/05
    ED1:風船ガム|キャプテンストライダム 発売日:2006/06/07
    ED2:MR.RAINDROP|amplified 発売日:2006/07/19
    ED3:雪のツバサ|redballoon 発売日:2006/11/22
    ED4:修羅|DOES 発売日:2007/05/16
    ED5:奇跡|シュノーケル 発売日:2007/07/18
    ED6:SIGNAL|KELUN 発売日:2007/11/21
    ED7:Speed of flow|THE RODEO CARBURETTOR 発売日:2008/02/14
    ED8:sanagi|POSSIBILITY 発売日:2008/05/28
    ED9:This world is yours|プリングミン 発売日:2008/08/06
    ED10:I、愛、会い|ゴーストノート 発売日:2008/11/19
    ED11:輝いた|シギ 発売日:2009/02/18
    ED12:朝Answer|PENGIN 発売日:2009/06/10
    ED13:ウォーアイニー|高橋瞳×BEAT CRUSADERS 発売日:2009/09/09
    挿入歌:どんだけー!ギンタマン|Ko-saku 

■家庭教師ヒットマン リボーン  2006/10/7 10:30(土)  ~    東京
    OP1:Drawing days|SPLAY 発売日:2006/12/06
    OP2:BOYS & GIRLS|LM.C 発売日:2007/05/23
    OP3:DIVE TO WORLD|CHERRYBLOSSOM 発売日:2007/12/05
    OP4:88|LM.C 発売日:2008/06/04
    OP5:last cross|光岡昌美 発売日:2008/12/17
    OP6:EASY GO|加藤和樹 発売日:2009/06/10
    ED1:道標|橘慶太 発売日:2006/10/18
    ED2:ONE NIGHT STAR|the ARROWS 発売日:2007/02/21
    ED3:Echo again|SPLAY 発売日:2007/02/21
    ED4:friend|アイドリング!!! 発売日:2007/07/11
    ED5:Sakura addiction|雲雀恭弥vs六道骸 発売日:2007/11/07
    ED6:STAND UP!|Lead 発売日:2008/02/06
    ED7:アメあと|w-inds. 発売日:2008/04/23
    ED8:CYCLE|CHERRYBLOSSOM 発売日:2008/07/30
    ED9:すべり台|森翼 発売日:2008/11/19
    ED10:桜ロック|CHERRYBLOSSOM 発売日:2009/02/18
    ED11:smaile for...|上戸彩 発売日:2009/06/03
    ED12:青い夢|森翼 発売日:2009/08/19

■しゅごキャラ!! どきっ  2008/10/4 9:30(土)  ~    東京
    OP1:みんなのたまご|しゅごキャラエッグ! 発売日:2008/12/10
    OP2:しゅごしゅご!|しゅごキャラエッグ! 発売日:2009/02/25
    OP3:おまかせ♪ガーディアン|ガーディアンズ4 発売日:2009/05/27
    OP4:School Days|ガーディアンズ4 発売日:2009/09/02
    ED1:ロッタラ ロッタラ|Buono! 発売日:2008/11/12
    ED2:co・no・mi・chi|Buono! 発売日:2009/01/21
    ED3:MY BOY|Buono! 発売日:2009/04/29
    ED4:Take It Easy!|Buono! 発売日:2009/08/26
    挿入歌:おひさまわらった 
    挿入歌:Heartful song|ほしな歌唄(水樹奈々) 発売日:2009/03/18
    挿入歌:最強LOVE POWER|あむwithラン・ミキ・スゥ 発売日:2008/11/05
    挿入歌:Happy X'mas|あむwithラン・ミキ・スゥ 発売日:2009/03/18
    挿入歌:いいことありそう|ラン・ミキ・スゥ 発売日:2009/03/18
    挿入歌:君のBirthday|日奈森あむ 発売日:2009/03/18

■ねぎぼうずのあさたろう  2008/10/12 6:30(日)  ~    朝日
    OP:参上!ぴゅるっとあさたろう|松原剛志 発売日:2008/12/17
    ED1:星の彼方へ|押谷沙樹 発売日:2008/12/17
    ED2:風の歌、星の歌、私の歌|堀江美都子 発売日:2009/08/05

■GTO  2008/12/26 18:30  ~    東京MX
    OP1:Driver's High|L'Arc~en~Ciel 発売日:1999/08/11
    OP2:ヒトリノ夜|ポルノグラフィティ 発売日:2006/03/29
    ED1:Last Piece|Kirari 発売日:1999/09/01
    ED2:しずく|奥田美和子 発売日:2000/02/02
    ED3:CHERISHED MEMORIES|THE HONG KONG KNIFE 発売日:2000/07/26

■獣の奏者エリン  2009/1/10 18:25(土)  ~    NHK教育
    OP1:雫|スキマスイッチ 発売日:2009/01/10
    OP2:雫|元ちとせ 発売日:2009/01/10
    ED1:After the rain|cossami 発売日:2009/02/25
    ED2:きっと伝えて|松たか子 発売日:2009/10/21
    挿入歌:ララリラ ラリラ|cossami 発売日:2009/02/25
    挿入歌:青い星|cossami 発売日:2009/02/25
    挿入歌:きっと伝えて|松たか子 発売日:2009/10/21

■スターウォーズ|クローンウォーズ  2009/3/31 19:00  ~    BShi
 

■Phantom ~Requiem for the Phantom~  2009/4/3 1:30(金)  ~    東京
    OP1:KARMA|KOKIA 発売日:2009/04/22
    OP2:戦慄の子供たち|ALI PROJECT 発売日:2009/08/19
    ED1:地獄の門|ALI PROJECT 発売日:2009/05/27
    ED2:Transparent|KOKIA 発売日:2009/08/26

■PandoraHearts  2009/4/3 1:39(金)  ~    TBS
    OP:Parallel Hearts|FictionJunction 発売日:2009/04/29
    ED1:Maze|savage genius feat.近江知永 発売日:2009/06/03
    ED2:私をみつけて。|savage genius 発売日:2009/08/19

■ハヤテのごとく!!  2009/4/4 1:23(土)  ~    東京
    OP1:Wonder Wind|ELISA 発売日:2009/05/20
    OP2:daily-daily Dream|KOTOKO 発売日:2009/08/26
    ED1:本日、満開ワタシ色!|桂ヒナギク with 白皇学院三人娘 発売日:2009/05/27
    ED2:カラコイ~だから少女は恋をする~|三千院ナギ&綾崎ハヤテ staring 釘宮理恵&白石涼子 発売日:2009/09/09

■バスカッシュ!  2009/4/4 1:55(土)  ~  TBS
    OP1:nO limiT|エクリップス(戸松遥、中島愛、早見沙織) 発売日:2009/05/29
    OP2:僕が僕のまま|THE SPIN 発売日:2009/08/19
    ED1:free|山田優 発売日:2009/05/20
    ED2:二人の約束|エクリップス(戸松遥、中島愛、早見沙織) 発売日:2009/08/19
    挿入歌:moon passport|ヴァイオレット starring 早見沙織 発売日:2009/05/29
    挿入歌:moon passport|エクリップス(戸松遥、中島愛、早見沙織) 発売日:2009/05/29
    挿入歌:Running On|エクリップス(戸松遥、中島愛、早見沙織) 発売日:2009/06/17
    挿入歌:UNDERGROUND|ko-saku 発売日:2009/09/16
    挿入歌:ホシワタリ|Citron starring 中島愛 発売日:2009/08/19

■極上!!めちゃモテ委員長  2009/4/4 9:00(土)  ~    東京
    OP:めちゃモテ I LOVE YOU|MM学園合唱部  発売日:2009/05/27
    ED1:キレイになりたい|MM学園合唱部  発売日:2009/05/27
    ED2:めちゃモテ!サマー|MM学園合唱部  発売日:2009/07/15

■真マジンガー 衝撃!Z編 on television  2009/4/4 23:20(土)  ~    東京
    OP1:感じてKnight|ULTIMATE LAZY for MAZINGER 発売日:2009/04/22
    OP2:守護神-The guardian-|JAM Project 発売日:2009/08/05
    ED1:Brand new world|麻生夏子 発売日:2009/05/22
    ED2:強き者よ|SKE48 発売日:2009/08/05

■戦場のヴァルキュリア  2009/4/5 1:35(日)  ~  チバ
    OP1:明日へのキズナ|HIMEKA 発売日:2009/05/27
    OP2:カナシミレンサ|MARIA 発売日:2009/08/12
    ED1:アノ風ニノッテ|pe'zmoku 発売日:2009/05/13
    ED2:ひとつの願い|井上ひかり 発売日:2009/08/05
    ED3:BRIGHTEST MORNING|井上ひかり with 義勇軍第7小隊 
    挿入歌:どんなに遠くても・・・|JUJU 発売日:2008/04/23
    挿入歌:空は蒼いまま|ロージー(皆川純子) 発売日:2009/08/05
 

■クロスゲーム  2009/4/5 10:00(日)  ~    東京
    OP:Summer rain|コブクロ 発売日:2009/04/15
    ED1:恋焦がれて見た夢|絢香 発売日:2009/04/22
    ED2:オレンジDays|SQUAREHOOD 発売日:2009/08/05

■鋼の錬金術師 FULLMETAL ALCHEMIST  2009/4/5 17:00  ~    TBS
    OP:again|YUI 発売日:2009/06/03
    ED:嘘|シド 発売日:2009/04/29

■こんにちは アン  2009/4/5 19:30  ~    BSフジ
    OP:ヒカリの種|井上あずみ 発売日:2009/05/20
    ED:やったね ♪ マーチ|井上あずみ 発売日:2009/05/20

■花咲ける青少年  2009/4/5 23:01  ~    NHK BS2
    OP:CHANGE|J-Min 発売日:2009/05/27
    ED:One|J-Min 発売日:2009/05/27

■グイン・サーガ  2009/4/5 23:29(日)  ~    NHK BS2
    OP:グインのテーマ|植松伸夫 発売日:1995/11/01
    ED:Saga~This is my road|カノン 発売日:2009/08/26
    挿入歌:Where'er you go~Cavalleria Rusticana~|カノン 発売日:2009/08/26

■シャングリ・ラ  2009/4/6 0:00(月)  ~  チバ
    OP:キミシニタモウコトナカレ|May'n 発売日:2009/05/06
    ED1:はじまりの朝に光あれ。|midori 発売日:2009/07/08
    ED2:月に隠せし蝶の夢|midori 発売日:2009/09/23
    挿入歌:天への祈り|Hitomi 発売日:2009/09/23
    挿入歌:シャングリ・ラを目指して|Hitomi 発売日:2009/09/23

■ティアーズ・トゥ・ティアラ  2009/4/6 1:35(月)  ~  チバ
    OP:Free and Dream|Suara 発売日:2009/04/22
    ED1:Blue sky. True sky|結城アイラ 発売日:2009/04/22
    ED2:Weeping alone|結城アイラ 発売日:2009/08/26
    ED3:memory|Suara 発売日:2008/08/27

■咲 -Saki-  2009/4/6 2:00(月)  ~    東京
    OP1:Glossy:MMM|橋本みゆき 発売日:2009/04/22
    OP2:bloooomin'|Little Non 発売日:2009/08/05
    ED1:熱烈歓迎わんだーらんど|植田佳奈・小清水亜美・釘宮理恵・伊藤静・白石涼子 発売日:2009/05/27
    ED2:残酷な願いの中で|植田佳奈・小清水亜美 発売日:2009/05/27
    ED3:四角い宇宙で待ってるよ|植田佳奈・小清水亜美・釘宮理恵・伊藤静・白石涼子 発売日:2009/07/22

■アラド戦記~スラップアップパーティー~  2009/4/11 2:45(土)  ~    東京
    OP1:Party Play|野川さくら 発売日:2009/05/27
    OP2:塞塵のパンドラ|野川さくら 発売日:2009/08/05
    ED1:果てしない世界|YMCK 発売日:2009/05/27
    ED2:LEVEL∞|長谷川明子 発売日:2009/08/05

■亡念のザムド  2009/4/15 23:30(水)  ~    東京MX
    OP1:BACK ON MY FEET|BOOM BOOM SATELLITES 発売日:2009/07/01
    OP2:SHUT UP AND EXPLODE|BOOM BOOM SATELLITES 発売日:2007/11/21
    ED1:VACANCY|Kylee 発売日:2008/12/03
    ED2:Just Breathe|Kylee 発売日:2009/04/18
    ED3:Over U|Kylee 発売日:2009/07/29

■川の光  2009/6/20 19:30(土)  ~    NHK総合
    OP:I'm here with you|遊佐未森 発売日:2009/08/05

■うみものがたり~あなたがいてくれたコト~  2009/6/27 2:25(土)  ~    TBS
    OP:violet|marble 発売日:2009/07/23
    ED:透明な祈り|伊藤真澄 発売日:2009/07/29
    挿入歌:てぃだぬひきやり|宮原永海 
    挿入歌:時の華|marble 発売日:2009/07/23

■うみねこのなく頃に  2009/7/2 1:30(木)  ~    チバ
    OP:片翼の鳥|志方あきこ 発売日:2009/08/19
    ED:la divina tragedia~魔曲~|JIMANG 発売日:2009/09/16

■青い花  2009/7/2 2:08(木)  ~    フジ
    OP:青い花|空気公団 発売日:2009/07/22
    ED:センテフォリア|Ceui 発売日:2009/08/05
    挿入歌:悲しみ知らん顔|空気公団 発売日:2009/07/22

■NEEDLESS  2009/7/3 1:30(金)  ~    TOKYO MX
    OP:modern strange cowboy|GRANRODEO 発売日:2009/07/29
    ED:Aggressive zone|ニードレス★ガールズ+ 発売日:2009/08/26
    挿入歌:死にいたる傷|Gargoyle 発売日:2009/09/03

■大正野球娘  2009/7/3 1:59(金)  ~    TBS
    OP:浪漫ちっくストライク|鈴川小梅(伊藤かな恵)、小笠原晶子(中原麻衣)、川島乃枝(植田佳奈)、宗谷雪(能登麻美子) 発売日:2009/07/22
    ED:ユメ・ミル・ココロ|伊藤かな恵 発売日:2009/08/05

■化物語  2009/7/3 23:00(金)  ~   TOKYO MX
    OP1:staple stable|戦場ヶ原ひたぎ(斉藤千和) 発売日:2009/09/30
    OP2:帰り道|八九寺真宵(加藤英美里) 発売日:2009/10/28
    OP3:ambivalent world|神原駿河(沢城みゆき) 発売日:2009/11/25
    OP4:恋愛サーキュレーション|千石撫子(花澤香菜) 発売日:2009/12/23
    ED:君の知らない物語|supercell 発売日:2009/08/12

■エレメントハンター  2009/7/4 18:00(土)  ~    MHK教育
    OP:First Pain|石川智晶 発売日:2009/07/29
    ED:スイヘイリーベ~魔法の呪文~|かっきー&アッシュポテト 発売日:2009/07/29

■CANAAN(カナン)  2009/7/4 22:30(土)  ~  TOKYO MX
    OP:mind as Judgment|飛蘭 発売日:2009/07/22
    ED:My heaven|Annabel 発売日:2009/08/26
    挿入歌:チャイナ気分でハイテンション!|ネネ 発売日:2009/10/07
    挿入歌:LIFE|ネネ 発売日:2009/10/07

■懺・さよなら絶望先生  2009/7/5 23:30(日)  ~    チバ
    OP:林檎もぎれビーム!|大槻ケンヂと絶望少女達(風浦可符香、木津千里、木村カエレ、関内・マリア・太郎、日塔奈美) 発売日:2009/07/23
    ED1:絶望レストラン|絶望少女達(小森霧、常月まとい、小節あびる、藤吉晴美) 発売日:2009/08/05
    ED2:暗闇心中相思相愛|糸色望(神谷浩史) 発売日:2009/08/26

■プリンセスラバー!  2009/7/6 0:30(月)  ~  2009/9/21 0:30(月)  チバ
    OP:Princess Primp!|橋本みゆき 発売日:2009/07/22
    ED:S.S.D|yozuca* 発売日:2009/08/26
    挿入歌:命短し、恋せよ姫!|橋本みゆき 発売日:2009/07/22
    挿入歌:プリンセスラバー!|橋本みゆき 発売日:2008/08/06

■かなめも  2009/7/6 1:30(月)  ~    東京
    OP:君へとつなぐココロ|中町かな(豊崎愛生)、天野咲妃(水原薫)、久地院美華(釘宮理恵) 発売日:2009/08/05
    ED:YAHHO!!かなめもVer.|堀江由衣 発売日:2009/08/26
    挿入歌:椰子の実|マリモ姉さん(高橋美佳子) 

■宙のまにまに  2009/7/8 1:00(水)  ~  チバ
    OP:Super Noisy Nova|スフィア 発売日:2009/07/29
    ED1:星屑のサラウンド|CooRie 発売日:2009/08/26
    ED2:闇に咲く星のように|CooRie 発売日:2009/08/26
    挿入歌:星のしずく|CooRie 発売日:2009/09/30

■GA 芸術科アートデザインクラス  2009/7/9 2:30(木)  ~    チバ
    OP:お先にシルブプレ|彩井高校 GA girls 発売日:2009/10/28
    ED1:Coloring palettes トモカネいろ|友兼(トモカネ) 発売日:2009/10/28
    ED2:Coloring palettes キサラギいろ|山口如月(キサラギ) 発売日:2009/10/28
    ED3:Coloring palettes ノダミキいろ|野田ミキ(ノダミキ) 発売日:2009/10/28
    ED4:Coloring palettes キョージュいろ|大道雅(キョージュ) 発売日:2009/10/28
    ED5:Coloring palettes ナミコいろ|野崎奈三子(ナミコさん) 発売日:2009/10/28
    ED6:ココロいろ Palettes|GA元気ガールズ(トモカネ/キサラギ/ノダミキ) 発売日:2009/10/28

■東京マグニチュード8.0  2009/7/10 0:45(金)  ~    フジ
    OP:キミノウタ|abingdon boys school 発売日:2009/08/26
    ED:M/elody|辻詩音 発売日:2009/08/05

■狼と香辛料II  2009/7/10 1:00(金)  ~    チバ
    OP:蜜の夜明け|新居昭乃 発売日:2009/08/05
    ED:Perfect World|ROCKY CHACK 発売日:2009/07/22

■よくわかる現代魔法  2009/7/12 0:00(日)  ~    BS11
    OP:programming for non-fiction|麻生夏子 発売日:2009/07/23
    ED:Made in WONDER|美郷あき 発売日:2009/08/05

2009年6月14日 (日)

■Word VBA(カスタムツールバーの不具合?)

今回は、前回前々回でツール用.docを作成している中で作成したユーザ設定ツールバー(以降、カスタムツールバー)についてあれこれ書いてみたいと思います。
Excelのカスタムツールバーとだいぶ勝手が違うのと、これはWordのバグでは?と思うところがあります。

bearing事象1.
まず、Word2000/2003のカスタムツールバーでは、マクロボタンを追加すると
Project.モジュール名.プロシージャ名という名前がデフォルトで設定されますね。
これを別の日本語名に変更したとすると、名前は日本語名になりますが、ツールチップ(ポップアップヒント)は変更前のプロシージャ名のままです。(私だけじゃないですよね?)
Excelではこうはなりません。
Tooltip

pout事象2.
さらに、マクロボタンにはショートカットキーを登録できますが、ショートカットキーを名前やツールチップに表示することができません。どうも、カスタムツールバー上の右クリック[ユーザー設定]-[オプション]タブ-[ボタン名と一緒にショートカットキーを表示する]をチェックするとできそうな雰囲気があるのですが、これをチェックしても何も起こりません。
Userset
ExcelではOnkeyメソッドで登録しておくときちんと表示してくれます。
しかたないので、事象1、2を解消するために以下のとおり、AutoOpen()に、ツールチップを名前に置き換える処理を組み込んでいます。

'カスタムツールバーのツールチップ設定
Private Sub SetMyToolBar()
    Dim myBar As CommandBar
    Dim lKeyString As String
    For Each myBar In Application.CommandBars
        If myBar.Name = cMyBarName Then
            For Each oCbt In myBar.Controls
                lKeyString = GetKeyString("Project." & oCbt.OnAction)
                If lKeyString = "" And (oCbt.Caption Like "*+*") Then
                    oCbt.Caption = Left(oCbt.Caption, InStrRev(oCbt.Caption, " ") - 1)
                ElseIf Not (oCbt.Caption Like "*" & lKeyString & "*") Then
                    oCbt.Caption = oCbt.Caption & " " & lKeyString
                End If
                oCbt.TooltipText = oCbt.Caption
            Next
            Exit For
        End If
    Next
    Set oCbt = Nothing
    Set myBar = Nothing
End Sub
Tooltip2

sad事象3.
ショートカットキーではほかにも厄介な点があります。前回にも触れましたが「マクロの隠蔽」です。
Excelでは、マクロボタンを作成したあと隠蔽するためにPrivateに変更するのですが、これをWordでやると、
マクロをクリックして実行するには問題ありませんが、ショートカットキーが無効になってしまいます。
どうにかしてくれ、Microsoftさん!


gawk事象4.
次に、カスタムツールバーにマクロボタンを追加した後にモジュール名を変更すると、

Macroerror
『マクロが見つからないか、またはマクロに対するセキュリティ レベルが高く設定されているためマクロが無効にされています。』

というエラーが発生するようになります。始めは理由が分からずカスタムツールバーのボタンを再作成したりしていました。
ま、これはなんとなくうなずけます。デフォルトでProject.モジュール名.プロシージャ名という名前が割り当てられるという辺りから、ボタンとプロシージャの関連付けはモジュール名も関係しているということなのでしょう。
しかし、これもExcelではこうはなりません。

これらはどう考えてもバグではないですかね、Microsoftさん!
Word2007は使ったことが無いので解消されているのかもしれませんが、Excelと比べるとどうにも厄介です。。。

2009年6月13日 (土)

■Word VBA(ツールの構成と配布方法について その2)

「ツールの構成と配布方法について」のその2です。

前回の続きとして、
two想定する動作環境
(1)Normal.dotは汚したくないのでマクロは記述しない
(2)E2000Tools.xlsのようにツール用.docにマクロを集約したい、これを配布したい
(3)ツール用.docにカスタムツールバーを作成し、全ドキュメントで共有したい
(4)ツール用.docはスタートアップで自動起動したい
(5)ツール用.docは非表示にしたい
(6)全ドキュメントに対して動作するマクロを記述したい
の実現を目指し、(1)~(5)まで達成できました。
今回は(6)について検討してみたいと思います。

ここでちょっと比較ですが、Excel VBAでは、
ツール用.xlsの
(1)VBEのクラスモジュールで、モジュール名XXXを新規作成します(例;class1)
(2)このクラスモジュールに全ブックに対する処理を記述しておきます(例:Sub App_WindowActivate)
(3)Thisworkbookモジュールにworkbook_openプロシージャを作成し、クラスとApplicationオブジェクトを関連付けます
これで、ツール用.xlsが起動した段階でクラスモジュールの設定が完了し、その後、全ブックがActiveになった時にApp_WindowActivateプロシージャが起動されるようになります。
詳細を知りたい方は、ヘルプで”Application オブジェクトでイベントを使用する”を検索してみてください。

この要領でいけば、Word VBAでは、
ツール用.docの
(1)VBEのクラスモジュールで、モジュール名XXXを新規作成します(例;class1)
(2)このクラスモジュールに全Docに対する処理を記述しておきます(例:Sub App_DocumentOpen)
(3)ThisDocumentモジュールにDocument_openプロシージャを作成し、クラスとApplicationオブジェクトを関連付けます
これでうまくいくと思いきや、残念ながらそうはいきません。

問題の本質は、ドキュメントやテンプレートの起動時に実行すべき(3)の処理であるDocument_openは、Docでは起動されますが、アドインテンプレート(.Dot)では起動しないということです。
これを解消するには、自動実行マクロ関数を用います。
ヘルプによると
    ・Docで起動されるのは、AutoOpen,AutoClose
    ・アドインで起動されるのは、AutoExec,AutoExit
ということで、Docとアドインでは起動されるプロシージャが違うので、同じ処理をそれぞれに記述する必要がありそうです。
さらに、マクロを隠蔽することがわたしの望むところなのですが、残念なことに自動実行マクロではそれができません。
マクロの隠蔽とは、プロシージャを”マクロの実行”ダイアログに表示しないようにすることを意味します。具体的には、PrivateやSub xxxxx(Optional Dummy)とするのですが、これをすると自動実行マクロは起動されなくなるので、Publicが必須となります。
とはいえ、なんとか自動実行マクロにすることで(6)が実現できました。

次回は、その1、その2を実現する中で、Wordの不具合と思われる事象が発見されたのでそれについて記述したいと思います。

2009年6月 6日 (土)

■Word VBA(ツールの構成と配布方法について その1)

滅多にないWord VBAネタです。
最近Wordを使う機会が増えたので、これを機にWord VBAで本格的にツールを作成しようと考えたのですが、Excel VBAと同じと思いきや結構違いがあるのですね。
自作ツールのE2000Toolsのように、ツールを他人に配布することを前提に、ツールの構成や動作環境を構築するにはどうすればよいか試行錯誤しました。私なりに理解した範囲で以下にまとめてみます。

oneまずは基本中の基本
ネットではテンプレートとアドインという言葉がそれぞれ使われていてどう違うのか良く分かりませんでしたが、このサイトがその点をまとめられていてとても分かりやすかったです。テンプレートという考え方が理解できました。

two想定する動作環境
(1)Normal.dotは汚したくないのでマクロは記述しない
(2)E2000Tools.xlsのようにツール用.docにマクロを集約したい、これを配布したい
(3)ツール用.docにカスタムツールバーを作成し、全ドキュメントで共有したい
(4)ツール用.docはスタートアップで自動起動したい
(5)ツール用.docは非表示にしたい
(6)全ドキュメントに対して動作するマクロを記述したい

three結論(運用確立!)
いやぁ苦労しました。試行錯誤してやっと以下の運用に辿り着きました。

まずツール用.docにマクロを記述し、作成したカスタムツールバーから起動できるようにします。
でも、このままでは、ツール用.docを起動しておいたとしても他のドキュメントからこのマクロやツールバーは利用できません。しかもツール用.docは前述(5)の非表示が実現できません。
さらに、ツール用.docを、後述するSTARTUPフォルダから起動すると、

  『プロジェクトを表示できません。』

といわれてしまってマクロの編集が行えない状態となります。なんとも開発しづらい。
なので、

  > copy ツール用.doc ツール用.dot /y

を実行して、アドインテンプレート”ツール用.dot”を作成する運用にします。
実際には、上記コマンドをバッチファイルで実行していますが。。。
普段はツール用.dotを使用して、何かマクロを追加したいときや、不具合を発見したときは、ツール用.docで対応し、動作確認できたらツール用.dotを作成します。
こうすることで、ツール用.doc(=開発用)とツール用.dot(=配布用)の役割が明確になりました。

Word起動と同時に常に使用するためには以下のフォルダにツール用.dotを格納します。
  C:\Documents and Settings\ユーザ名\Application Data\Microsoft\Word\STARTUP
ここまでで、前述の動作環境(1)~(5)までが達成されました。
(6)が残りました。これがまた厄介なので次回に記述したいと思います。

« 2009年5月 | トップページ | 2009年8月 »