» Wordのブログ記事


怪しいメールが届いた。
差出人は、Google Corporation となっている。
しかしながら、アドレスのドメインは、@webname.com 。
宛先の記載はない。

そしてご丁寧にWordの添付ファイルまで付いている。
添付ファイルのタイトルは、「Google Anniversary.doc」

どう考えてもマクロウィルス付きの添付ファイルだよなぁ~^^;


このソフトは、Microsoft Word 2003, 2007, 2010用のアドインです。

Word自体が備えている、下書き印刷と1枚に複数ページを印刷する機能を使いやすくまとめたものです。

下書き印刷は、オプション設定で、いちいち変更するのがわずわらしい…
そんな手間を省きます。
ただし、下書き印刷には対応するプリンタが必要です。

そして、1枚に複数ページを印刷するのも、印刷プレビュー画面を見なが設定することがわずらわしかったりします。
ついつい会社のプリンタで印刷コストを気にしていないと、ドラフト版でも全部印刷してしまったていたりしませんか?

このソフトでは、印刷コストの節約のモチベーションを高めるために、どの程度節約できたかわかるようにしてあります。

個人利用の場合に限りフリーソフトとして提供しています。
無料使用の詳細な条件は、ダウンロードファイルに同梱されているReadme.txtをご参照ください。
なお、フリーの要件を満たさない場合でも、1ライセンス120円(税込み)なので、削減される印刷コストからすると、割安ではないかと…
ご理解ください。


Word2010用のインターフェース


Word2007用のインターフェース


Word2003用のインターフェース


Wordの下書き印刷は、その名の通り、下書き印刷をする機能です。
写真や図などは、枠のみ表示され、レイアウトの確認などに使用する機能なのですが…

Word2010では従来と機能が違うようです。

Word2007までは、上述の説明のような動作をしますが、Word2010では、全く通常印刷と変化がありません。
ヘルプを見ると…

「対応するプリンタは多くない」との記述が…

と、いうことは、全然別の機能になってしまったのか…

EPSONのLP-9200CやPM-G4500で試してみたが、まったく変化なし!
対応するプリンターをインターネットで探しても見あたらない…

どうなっているんだ?!

ちゃんと使えてる人っています?


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です。


マクロ屋本舗では、EasyPrint for WordというMicrosoft用のアドインを公開している。

このアドインは、現在のページを印刷するツールバーを提供するアドインなのだが、仕組みは至って簡単で、Wordの現在のページを印刷する機能を使っているだけなのだ…

しかしながら、現在のページを印刷したにも関わらず、異なるページが印刷されることが稀(?)にある。
これがどのような時に起こるのかを調べてみた。

異なるページが印刷されるケース

 【ドキュメントの構成】

  • セクション1 : ページ0 ← 表紙
  • セクション2 : ページ0 ← 目次
  • セクション3 : ページ1~ ←本文
  • セクション4以降も存在します。

という構成のドキュメントで目次のページを印刷しようとすると、表紙のページが印刷されてしまうというものだ。
ちなみに、ドキュメントを作成した環境は、Word2000で、印刷した環境はWord2010である。

なぜ、このようなドキュメント構成になっているかというと、当時、セクション毎にヘッダー/フッターの設定を変えられるということをよく理解しておらず、とにかく表紙と目次はページ番号が印刷されないようにと考えた苦肉の策だったのだ…^^;

だから、こんな意味のないセクション区切りが存在しているわけだが、このような場合には、現在のページを印刷する機能は正しく機能しないことが判明した。
他にも今までに似たようなケースはあったと記憶しているのだが、とりあえず短時間で再現できたのはこのケースだけでした。

昨日も書きましたが、今はEasyPrint for Word 2010というソフトウェアのVectorでの公開待ち状態です。
このソフトでは、現在のページを印刷するときに、セクション番号とページ番号で現在のページを識別しているので、異なるページが印刷されることはありません。

ブログ検索

ブログカレンダー

2024年10月
« 10月    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Yahoo!ショッピング

アクセスカウンタ

  • 本日(回): 18
  • 週間(回): 151
  • 合計(回): 452216

Since 2011/07/01