» VisualStudioのブログ記事


VB.NETにおいて、文字列を整数型の数値に変換する関数として、Cint,Clng,Valといったものがあるが、
Val関数とClng関数は同じ結果になると思いこんでいた。

実際は、Clng関数は、Long型の数値に変換される。
一方、Val関数は、17桁まで有効なLong型の数値に変換されるようだ。

ex)
Dim v as String = “120002112365008889” ’18桁の数字文字列
dim lngV as Long = Clng(v) ‘120002112365008889
dim valV as Long =Val(v) ‘120002112365008880 ← 18桁目が0になる


Excel2010に含まれるCommandBarを調べてみた。
Word版はこちら

Index Name NameLocal Note

(*1)

1 Worksheet Menu Bar ワークシート メニュー バー
2 Chart Menu Bar グラフ メニュー バー
3 WordArt ワードアート
4 Picture
5 Drawing Canvas 描画キャンバス
6 Organization Chart 組織図
7 Diagram 図表
8 Ink Drawing and Writing インク描画と書き込み
9 Ink Annotations インク注釈
10 Standard 標準
11 Formatting 書式設定
12 PivotTable ピボットテーブル
13 Chart グラフ
14 Reviewing チェック/コメント
15 Forms フォーム
16 Stop Recording 記録終了
17 External Data 外部データ
18 Formula Auditing ワークシート分析
19 Full Screen 全画面表示
20 Circular Reference 循環参照
21 PivotChart Menu ピボットグラフ メニュー
22 Visual Basic Visual Basic
23 Web Web
24 Control Toolbox コントロール ツールボックス
25 Exit Design Mode デザイン モードの終了
26 Refresh 最新の情報に更新
27 Watch Window ウォッチ ウィンドウ
28 PivotTable Field List ピボットテーブルのフィールド リスト
29 Borders 罫線
30 Protection 保護
31 Text To Speech 読み上げ
32 List リスト
33 Compare Side by Side 並べて比較
34 Workbook tabs ブック見出し
35 Cell セル
36 Column
37 Row
38 Cell セル
39 Column
40 Row
41 Ply Ply
42 XLM Cell XLM セル
43 Document ドキュメント
44 Desktop デスクトップ
45 Nondefault Drag and Drop ドラッグ アンド ドロップ (既定以外)
46 AutoFill オートフィル
47 Button ボタン
48 Dialog ダイアログ
49 Series 系列
50 Plot Area プロット エリア
51 Floor and Walls 床面と壁面
52 Trendline 近似曲線
53 Chart グラフ
54 Format Data Series データ系列の書式設定
55 Format Axis 軸の書式設定
56 Format Legend Entry 凡例項目の書式設定
57 Formula Bar 数式バー
58 PivotTable Context Menu ピボットテーブル ショートカット メニュー
59 Query クエリ
60 Query Layout クエリのレイアウト
61 AutoCalculate 選択範囲計算
62 Object/Plot オブジェクト/プロット エリア
63 Title Bar (Charting) タイトル バー (グラフ作成)
64 Layout レイアウト
65 Pivot Chart Popup ピボットグラフのポップアップ
66 Phonetic Information ふりがな
67 Auto Sum オート SUM
68 Paste Special Dropdown 形式を選択して貼り付けオプションのドロップダウン
69 Find Format 書式の検索
70 Replace Format 書式の置換
71 List Range Popup リスト範囲ポップアップ
72 List Range Layout Popup リスト範囲レイアウト ポップアップ
73 XML Range Popup XML 範囲ポップアップ
74 List Range Layout Popup リスト範囲レイアウト ポップアップ
75 Nil Nil
76 Filter Names フィルター名
77 Excel Previewer Excel プレビューアー
78 &Legacy Keyboard Support 前バージョンのキーボード ショートカット キーのサポート(&L)
79 Drawing 図形描画
80 Shadow Settings 影の設定
81 3-D Settings 3-D の設定
82 Borders 罫線
83 Borders 罫線
84 Draw Border 罫線の作成
85 Chart Type グラフの種類
86 Pattern パターン
87 Font Color フォントの色
88 Fill Color 塗りつぶしの色
89 Line Color 線の色
90 Drawing and Writing Pens 描画と書き込みペン
91 Annotation Pens インク注釈ペン
92 Drawing and Writing Pens 描画と書き込みペン
93 Annotation Pens インク注釈ペン
94 Order 順序
95 Nudge 微調整
96 Align or Distribute 配置/整列
97 Rotate or Flip 回転/反転
98 Lines
99 Connectors コネクタ
100 AutoShapes オートシェイプ
101 Callouts 吹き出し
102 Flowchart フローチャート
103 Block Arrows ブロック矢印
104 Stars & Banners 星とリボン
105 Basic Shapes 基本図形
106 Insert Shape 図形の挿入
107 Shapes 図形
108 Inactive Chart アクティブでないグラフ
109 Excel Control Excel コントロール
110 Curve 曲線
111 Curve Node 結節点を曲げる
112 Curve Segment 線分を曲げる
113 Pictures Context Menu 図ショートカット メニュー
114 OLE Object OLE オブジェクト
115 ActiveX Control ActiveX コントロール
116 WordArt Context Menu ワードアート ショートカット メニュー
117 Rotate Mode 回転モード
118 Connector コネクタ
119 Script Anchor Popup スクリプト アンカーのポップアップ
120 Canvas Popup Canvas Popup
121 Organization Chart Popup Organization Chart Popup
122 Diagram ダイアグラム
123 Layout レイアウト
124 Select 選択
125 Task Pane 作業ウィンドウ
126
127 Property Editor プロパティ エディター
128 Office Clipboard Office クリップボード
129 XML Source XML ソース
130 Research リサーチ
131 XML Document XML ドキュメント
132 Signatures 署名
133 Document Actions ドキュメント アクション
134 Clip Art クリップ アート
135 Selection and Visibility オブジェクトの選択と表示
136 Document Management ドキュメント管理
137 Document Updates ドキュメントの更新
138 Mail Merge Panes 差し込み印刷ウィンドウ
139 Fax Service FAX サービス
140 Meeting Workspace 会議ワークスペース
141 Attachment Options 添付ファイルのオプション
142 Accessibility Checker アクセシビリティ チェック
143 Ribbon Adapter Ribbon Adapter
144 Add Command コマンドの追加
145 Built-in Menus 組み込みのメニュー
146 Clipboard クリップボード
147 Envelope 封筒
148 Online Meeting オンライン会議
149
150
151 チーム チーム
152 Status Bar ステータス バー
153 Ribbon Ribbon

認識できないコンテキストメニュー(*2)

只今、確認中!

*1,*2) 確認した項目のみ記載,VSTO(v4)とExcel2010環境にて確認。


のバージョンアップ版を現在作成している。
EasyPrint for Word 2007/2010の公開後に開発をスタートしたので、かれこれ2ヶ月が経過しているが、未だに完成に至っていない。

現在のバージョンは、開発に約30人工(=8Hour×30日×1人)かかっているが、今回は既に60人工は超えている。
バージョンアップだから…と高をくくっていたが、思いの外時間がかかる。
なぜ、こんなに時間がかかるかというと、機能を増やし過ぎたことが原因だ。

現在のバージョンは、選択範囲を1枚に印刷する機能しかない。

今回のバージョンは、

・選択範囲を1枚に印刷する。
・印刷対象を1枚に印刷する。
・ページ設定を管理できる。
・印刷履歴を管理できる。

昨今のエコ印刷を目的とした、
白黒印刷やドラフト印刷が簡単にできます。

予定では…^^;


VisualStudioでVSTOを使ったプロジェクトを開いていて、PCが強制終了された場合、あるいは、休止状態から復帰した場合に、リボンインターフェースでエラーがよく出ます。
無視して続けると、問題なく表示されますが、上書き保存しても、次回以降プロジェクトを開いた時に毎回同じ状態になります。
何とかならないか?

追記(2011/08/19)

ちなみに、リボンインターフェースのファイルには悪いところはありません。
新たな編集を加えると治るようです。(知らないうちにこのエラー出なくなっていた。)

追記(2011/08/20)

無視して続行すると、オブジェクトイベントの関連づけが全て消えてしまうことが発覚しました。

Private Sub Button1_Click(~省略~) Handles Button1.Click
  ~ 中略 ~
End Sub

上記のイベントプロシージャのHandles の部分が消えます。

とにかく毎回Handles 句を記述し直すのもアホらしいので、どこに原因があるのかを調べてみました。
結論からいうと、リボンインターフェースの記述自体には特に問題はありません。

小生の行った作業は次の通り。
(1)リボンインターフェースのプロシージャを全て削除する
 Imports句とPublic Class HogeHoge ~ End Classの宣言は残します。
 自分が追加したプロシージャのみ削除します。
 なお、実際には削除ではなく、メモ帳などにコピーを残しておきます。

(2)削除したプロシージャを一つずつ復活させていく。
 プロシージャを復活させる都度、リボンインターフェースにエラーが表示されないことを確認します。

(3)エラーが確認された場合は、問題のプロシージャを精査します。
 小生の場合は、プログラム記述時に、処理内容別に#region句で区切るので、#region句毎に復活させていったところ、右クリックメニューを生成するプロシージャを復活させた時にエラーがでました。
 このプロシージャには、リボンインターフェースとは関係なく自分でオブジェクトを生成し、WithEvents句で宣言したオブジェクトのイベントをHandles句で記述していました。
 これが原因なのかと考え、今度は、#Region句単位ではなく、プロシージャ単位でコードを復活させたら、何事もなかったかのようにエラーは出なくなりました。

結局のところ、原因はわかりません。


VS2008とOffice2007で作成したアドインをmsi形式で配布するためにWindowsインストーラーでセットアップファイルを作成してみた。

基本的には、松崎 剛さんのBlogに記載されている通りでOKなので補足を書きます。
http://blogs.msdn.com/b/tsmatsuz/archive/2008/03/31/vsto-v3-windows-installer.aspx

(1)VS2008を起動し、新規プロジェクトとして、VBでWord2007アドインを作成する。
.Net Framework3.5が作成するのが無難です。

(2)上記のアドイン(ソリューション)に新規プロジェクトとしてセットアッププロジェクトを追加する。
セットアッププロジェクトで設定する項目は次の通り。

(2.1)セットアッププロジェクトのプロパティ
InstallAllUsersの項目はFalseにする。
Office2007のアドインは、AllUser(LOCAL_MACHINE)にインストールすることができないので

(2.2)ファイルシステム
アプリケーションフォルダにアドインプロジェクトのプライマリ出力を追加する。
また、アドインを一度ビルドした後、*.dll.manifestと*.vstoファイルを手動で追加する。

(2.3)レジストリ
HKEY_CURRENT_USER\Software\Microsoft\Office\Word\AddIns\macroya.easyprintwに次の値を登録する
ちなみに、「macroya.easyprintw」は、アドイン識別名で、重複しなければ何でもよいようだ。
「easyprintw」だけだと、万が一他の人が同じ名前をつけたときに、アドインが正常に動かなくなるため、自分を識別する「macroya」をつけている。

(a)Description : EasyPrint for Word2007
(b)FriendlyName : EasyPrint for Word2007
(c)Manifest : [TARGETDIR]easyprintw.vsto|vstolocal
(d)LoadBehavior : 3

(a)から(c)は、文字列の値
(d)は、DWORD値

(a),(b)は、Wordに表示されるアドインの名前
(c)は、配置先。「[TARGETDIR]」は、通常は、c:\ProgramFiles\製造者名\製品名\ となるようだ。
(d)は、3を入力すると、起動時に読み込まれる。

(2.4)ユーザーインターフェース
インストールフォルダのInstallAllUserVisibleプロパティをFalseにする。
これは、上記(2.1)と同様の理由。

(2.5)起動条件
小生の環境では、セットアッププロジェクトの必須コンポーネントで、.Net Frameworkや、VSTO Runtimeを選択してもアドインのインストール時には、これらのコンポーネントはインストールされませんでした。
該当するWebページにも移動しませんでした。
なので、起動時にRuntimeの確認とWord2007の確認を行うように設定します。

ここまでで、セットアッププロジェクトをビルドすると、アドインがただしくインストールされ、使用できることが確認できました。

松崎さんのブログでは、これだけでは、対象となるアプリを起動した場合に、Inclusion List 絡みの確認メッセージが出現すると記述されています。

小生の環境では、最初にアドインをインストールしたときは、この確認メッセージは表示されませんでしたが、VSTO Runtimeなどすべて削除した状態で、再度、アドインのインストールを試みたら、英文表記で確認メッセージが表示されました。
というわけで、この確認メッセージの回避はやはり必要なようです。

この回避方法としては、回避プロジェクトをソリューションに追加すればよいと書かれており、C#でのコードも記述されています。
手動で、このプロジェクトを新規に作成し、このC#のコードをVBに変換したものをしようして、クラスに追加すると、エラーがいっぱいでて上手くいきません。
松崎さんのブログをよくよく読むと、サンプルのダウンロードサイトを案内してくれています。

http://code.msdn.microsoft.com/VSTO3MSI/Release/ProjectReleases.aspx?ReleaseId=729

このサイトでダウンロードしたファイルには、VBで記述されたサンプルも収録されています。
これを利用すればOKです。

ブログ検索

ブログカレンダー

2024年4月
« 10月    
 123456
78910111213
14151617181920
21222324252627
282930  

Yahoo!ショッピング

アクセスカウンタ

  • 本日(回): 70
  • 週間(回): 1145
  • 合計(回): 439796

Since 2011/07/01