カテゴリー「マクロテンプレート」の32件の記事

2009年9月20日 (日)

【改良版】図表番号を挿入する(Seqフィールドの利用)

先日紹介した、図表番号を挿入する(Seqフィールドの利用)の改良版です。

前回はプログラムだけ掲載しましたが、今回は機能を追加したテンプレートです。

テンプレートは、ベクターで紹介しようと思っていましたが、それほど説明が複雑なマクロではないので、ここで簡単に紹介します。

「insert_number.dot」をダウンロード

●作用

「図表番号の挿入」と「図表番号の相互参照」を簡単に実施します。

前回紹介したものは、図の番号だけでしたが、表の番号も同じことができるので、ボタンにしてみました。

相互参照をする場合には、自動的にフィールドが更新されますので、図や表の配置を入れ替えた場合でも、最新の番号が表示されます。

●作成背景

マクロのマニュアルを作成しており、表や図を使ってマクロの機能を説明しています。

ワードの機能である、図番の挿入や相互参照を使うことで、簡単にきれいに図表の番号を入れることができます。

それをさらに使いやすくしたのがこのマクロです。

●プログラム

前回紹介したものとほとんど同じです。

●使い方

①マクロテンプレートをインストールします。

②ツールバーに以下のようなボタン(4つ)が表示されます。

Insert_number

③【図No.】ボタンで、図番号を挿入します。このボタンをクリックすると、カーソル位置にあわせて適切な図番号が挿入されます。

たとえば、文書の末尾であれば、新しい図番が入ります。

また、図1と図2がすでに書かれており、図1と図2の間に図を追加する場合、新たに図2として追加されて、現在の図2は図3に自動で更新されます。

④「参照」ボタンをクリックすると、どの図を参照するのかインプットボックスが表示されます。

Insert_number2

すでに使われている図の番号(たとえば1)を入力すると、その番号が参照されたフィールド表示で「図1」などと入力されます。

フィールドで表示される、というのがみそです。

先ほどのように、マニュアル作成中に、図を追加していくと、それ以降の番号が順送りでずれますね。

フィールドで設定しておけば、「図2に示した配置で、」のような文中で使われる図番号も一緒に「図に示した配置で、」と更新されます。

ツールバーの右半分にある「【表No.】」ボタンおよびその右隣の「参照」ボタンでも表の番号挿入で上記の作用をします。

| | コメント (0) | トラックバック (0)

2009年7月11日 (土)

キーワードを蛍光色にするマクロ

またかよ?というテーマですが、今までのものとはかなり違います。

まず、「ボタンが美しい!」ことと、「読者さんとの共同制作」という点が新しいです。

また、新しいコードも覚えましたので、是非ご覧ください。

「highlight.dot」をダウンロード

●作用

テキストファイルに書いたキーワードを現在の文書中から探して、蛍光色にします。

蛍光色として選べるのは、文字に重ねても文字が読みやすいと思われる黄色や明るい緑などを中心に6色を使えるようにしました。

よって、キーワードの種類別に着色することができます。

また、キーワードの蛍光色を削除する機能もあります。

以前紹介した翻訳文の比較表自動作成マクロとあわせて使うと、その効果が発揮されます。

どんな使い方があるのか、いろいろとお試しください。

次回以降、とっておきの使い方を紹介しますので、それもお楽しみに。

●使い方

1.テンプレートを登録します。こちらをご参照ください。

2.Highlight

このような7つのボタンがツールバーに表示されます。

左から6つが、それぞれのボタンの色に対応した蛍光色を着色するマクロで、一番右が蛍光色を削除するマクロです。

3.キーワードを記載したテキストファイルを用意します。

以下のファイルを適当なフォルダに保存してください。

参考ファイル:「sample_keyword1.txt」をダウンロード

「sample_keyword2.txt」をダウンロード

ここにあげたキーワードは英語ですが、日本語でもかまいませんし、日本語と英語が混在してもかまいません。

あまり意味のあるキーワードを載せていません。単なる例示と思ってください。

4.キーワード検索対象となるワード文書を用意します。

参考ファイル:アップル社の7,536,565特許「sample_patent_us7536565.doc」をダウンロード

これも、最近の特許から選んだだけで、あんまり意味があるものではありません。単なる例示と思ってください。

5.着色する色のボタンをクリックします。

上記の「キーワード検索対象となるワード文書」を開いてください。

7つのボタンともに同じ操作で使えます。好きな色のボタンをクリックしてください。

Highlight2 ボタンをクリックするとファイルを選択する窓(左図参照)が開きます。

この窓を開いた状態では、テキストファイルだけが表示されるようにしました。

上記ステップ3にてテキストファイルを保存したフォルダを選び、どちらか一つのファイルを開きます(ファイルを選択してダブルクリックまたは、開くボタンをクリック)。

6.着色されます。

●工夫

①キーワードをテキストファイルに書きました。

今回は、複数のキーワードリストを使い分けることができます。

今までは、マクロのテンプレートにキーワードを書く手法を使っていましたが、これだと複数のキーワードリストを使い分けるのが難しいと感じておりました。

②ファイル選択が簡単!

プログラムの20,40~70行に記載されています。

キーワードのファイルを通常のファイルを開く窓から直感的にできます。

③ボタンの色が美しい!

自作するのをやめました。

「簡単プログラミングExcel VBA 応用編の付録のFaceIDリストから気に入ったボタンを探し出して使いました。

美しいですねぇ。仕事中についついクリックしてしまいます。

④テキストファイルの読み込み機能を使いました。

初めて使いました。スピードが速い感じがします。

プログラムの90,130,140,260行に関連のコードが書かれています。

ワードのVBの編集画面のヘルプファイルを見ると少し意味がわかると思います。

実際の作用としては、テキストファイルのファイル名を選んだ後、「シーケンシャル入力モード」でファイルを開いて、ファイルの先頭からファイルの末尾(EOF)までの文字列を一つずつ取得していることになります。

●プログラム(共通部分)

myHLCの文字列に、着色する色を代入して、以下の共通のプログラムを実行しています。

Sub 所定文字列を蛍光色にする(myHLC As String)

      Dim FileName
      Dim keyWord As String
      Dim actDoc As Document
      Dim myColorIndex As Long
      Dim myRange As Range
      Dim mydlgOpen As Dialog

      '対象文書の設定
10    Set actDoc = ActiveDocument

      'ダイアログボックスの設定
20    Set mydlgOpen = Dialogs(wdDialogFileOpen)

      'Rangeオブジェクトの設定
30    Set myRange = Selection.Range

      'キーワードファイル(テキストファイルに限定)を指定する
40    mydlgOpen.Name = "*.txt"

50    If mydlgOpen.Display = -1 Then
60        FileName = mydlgOpen.Name
70    End If

80    If Len(FileName) <> 0 Then

          'テキストファイルをシーケンシャル入力モードで開く
90        Open FileName For Input As #1
         
          '対象文書を選択
100       actDoc.Activate
         
          '蛍光ペンの現在の設定を仮保存
110       myColorIndex = Options.DefaultHighlightColorIndex
         
          '指定した蛍光色に変更
120       Options.DefaultHighlightColorIndex = myHLC
         
          'テキストファイル内で、最終行まで繰り返す処理
130       Do While Not EOF(1)
         
140           Line Input #1, keyWord
               
150           With myRange.Find
160             .Forward = True
170             .Wrap = wdFindContinue
180             .MatchWholeWord = True
190             .MatchByte = True
200             .Format = True
210             .Replacement.Highlight = True
220             .Execute findText:=keyWord, _
                 ReplaceWith:=keyWord, Replace:=wdReplaceAll
230           End With
               
240       Loop
         
          '蛍光ペンの設定を元に戻す
250       Options.DefaultHighlightColorIndex = myColorIndex
         
260       Close #1
       
270   End If

280   Set actDoc = Nothing
290   Set mydlgOpen = Nothing
300   Set myRange = Nothing
       
End Sub

●補足

このマクロは、このブログの読者さんと共同でアイディアをぶつけながら作りました。

いただいた提案が面白かったので、自分なりに解釈したり、使える技術を探したりしながらの作業。

おかげさまで、仕事の新しい方法を知って効率化ができましたし、マクロのコードもたくさん覚えました。

ありがとうございました。

| | コメント (0) | トラックバック (0)

2009年6月13日 (土)

英文クレームの連番処理

英文クレームのクレーム番号を連番に書き直すマクロです。

「renban_EN.dot」をダウンロード 「renban_EN_sample_claims.doc」をダウンロード

●作用
英文クレームにおいて、クレームが記載される段落の先頭にクレーム番号があります。

この番号を「任意の数字」から連番にします。

●開発背景
アメリカに出願した特許の中間処理においては、クレームを削除して書き直す場合、同じクレーム番号ではなく、新しいクレーム番号を書き起こす必要があります。

実務上そうしているので、根拠となる法文はよくわからない(失礼)のですが、MPEPでは714(c)あたりになるのでしょうか。

---------------------------
6/15/2009に根拠を調べました。
こちらをどうぞ。
---------------------------

PCT出願によりアメリカに国内移行するときに、予備補正で米国書式に書き直します。

そのときにPCT出願したクレームを一旦キャンセルして、新しく書式をととのえたクレームに差し替えることをします。

このときに、例えば1~50のクレームをPCT出願した場合、書き直したクレームの番号は51~100が振られます。

単純にこのようになればいいのですが、実際には多項従属を単項従属に書き換えたりするので項数が多くなることもあります。

そこで、番号を振りなおすのが少し手間なので、今回マクロを作ってみました。

●使い方
1.マクロを登録します。こちらをご参照ください。

2.Renban_en [1, 2, 3]というボタンがツールバーに表示されます。

3.連番にしたいクレーム番号の上の行にカーソルをおきます。

Renban_en_2 サンプルファイル(US4,442,749のクレーム)を開いてください。クレームが4つ記載されています。

左の画像でいうと、クレーム1以降を連番対象としたいので、クレーム1の番号が記載されている行のひとつ上の行にカーソルが置かれています。

4.上記の[1, 2, 3]ボタンをクリックして、開始行を入力します。

Renban_en_3 左の画像のようなインプットボックスが表示されます。

今あるクレーム番号「1から4」を「5から8」に変えたい場合には、開始番号として「5」を入力します。

5.番号が自動でふられます。

●使用上の注意
クレーム番号として認識するのは以下の文字列です。(130行参照)

"^13([0-9]{1,}).^t"

つまり、改行された直後(つまり行の先頭)に半角の文字列があり、その直後にピリオドがあり、その直後にタブが入っています。

サンプルテキストの書式の場合にクレーム番号として選択されます。ご確認ください。

●工夫
連番対象とする範囲を指定しました。

範囲指定については、こちらの記事に詳細を書きましたのでご参照ください。

以下のように60行から90行に記載しました。

60行で、現在のカーソルの位置をmyStartに格納しています。
この位置が、毎回の検索の開始位置にします。

また70行で現在文書の最後の位置を格納しています。

以前のブログでも記載しましたが、現在文書の最後には改行記号がありますので、「改行記号の一つ前」が、カーソルが移動しうる最終位置となります。

で、Rangeオブジェクトを用いた検索前には、rangeオブジェクトの範囲をSetRangeによって指定します。(80行、90行)

60    myStart = Selection.Start
70    myEnd = ActiveDocument.Range.End - 1
80    Set myRange = Selection.Range
90    myRange.SetRange Start:=myStart, End:=myEnd

●ヒント
連番にする処理には@を使いました。

これは、以前紹介した墨付き括弧内の数字を連番にするマクロと同じ考え方です。

| | コメント (0) | トラックバック (0)

2009年6月 7日 (日)

【さらに改訂】翻訳文の比較表作成

2009/5/10に紹介した翻訳文の比較表作成マクロのアップデートです。

「table_comparison_4.dot」をダウンロード

Tablecomparison4

●改善点
・Word2000に対応します。

・比較表のフォーマットをオートフォーマットの「プロフェッショナル」にしました。(「比較表作成」の420行)

・比較するときに([較]ボタンをクリックしたとき)、比較する文字列の大文字か小文字かを区別するようにしました。また、完全一致のみを比較対象とするようにしました。(「日英比較実行」の310行)

例:
(前のバージョン)
日本語中のTh の比較対象として、there is のth が検索されてしまいました。

(今回のバージョン)
日本語中のTh の比較対象として、Th のみが検索されます。「単語の一部のth」や「単独のTh ではあるが、大文字小文字が間違っているth やtH 」は検索されません。

結果、日本語に「番目の」と記載されていて、英語で4th となっている場合には、4th の4は見つけられませんので、ご注意ください。

使うとわかると思います。

●その他変更
コードのマイナーチェンジとしては、「比較表作成」の610行、660行の表現を変えました。

コードが2行減りました。

どうぞご利用ください。

| | コメント (0) | トラックバック (0)

2009年6月 6日 (土)

【改良】フォルダ中のすべてのワードファイルの内容をコピペする

先日紹介したコピペマクロですが、フォルダパスの取得を「ファイルを開く」ダイアログボックスからできるようにして、簡単にしました。

「copy_paste_2.dot」をダウンロード

●使い方

1.インストール
こちらをご覧ください。

2.コピー先となるファイルを開きます。
新規文書を開いておけばいいと思います。

文章が書かれているファイルが開かれている場合には、文章の最後からコピペを開始します。

3.ツールバーの[コピペ]ボタンをクリックしてフォルダパスを指定

Copypaste2

左のようなファイルを開くダイアログボックスが表示されます。

このダイアログボックスを使って、コピペしたいワードファイルが含まれているフォルダのファイルを表示します。

表示されているワードファイルのいずれか一つをダブルクリックしたり、ダイアログボックスの右下の「開く」ボタンをクリックして、フォルダパスを指定します。

3.あとは、自動的にフォルダ内のワード文書のコピペをします。

●工夫

前回の記事に記載したフォルダパスを取得するコードをそのままつかっています(40行から130行)

マクロの使い方は前回紹介したとおりです。

70行と180行に、

70         .Name = "*.doc"
180       .FileName = ".doc"

と記載して、ワード文書の表示を指定していますが、

70         .Name = "*.txt"
180       .FileName = ".txt"

とそれぞれ変更するとテキストファイルを指定できます。

拡張子を設定していろいろとお試し下さい。

ワードで開けない種類のアプリケーションの拡張子を記入するとうまくいかないかもしれません。

お楽しみください。

| | コメント (5) | トラックバック (0)

2009年5月31日 (日)

文書の最終段落の文字数の取得

文書中の最終段落に記載されている文字数を取得するマクロです。「wordcount_lastparagraph.dot」をダウンロード

●作用
・英文で実行すると、最終段落の半角英数字の単語数を取得します。

・日本語で実行すると、最終段落の日本語の文字数(句読点も一文字分)を取得します。

・日本語と英語が混ざっている場合には、「半角英数字の単語数」+「日本語の文字数」を取得します。

●想定している用途
英文明細書を作成時、文書の最終段落に記載する要約文(Abstract)の文字数を取得するのに便利です。

●使い方
1.インストール
こちらをご覧ください。

2.対象の文書を開き、Wordcount ボタンをクリック

Word Countということで、WCです。

3.結果を表示します。

Wordcount2

●工夫
・文字が入力されていない段落(改行マークだけ、もしくはスペースと改行マークだけ)は最終段落と特定しません。文字が入力されている段落を文書の末尾から探します。(60~100行)

・文字が入力されていない文書の場合にはエラーメッセージが出ます。(160~180行)

●文字数の取得について

単語数の取得(ツール>文字カウントに対応)するコードが50行目に記載されています。
WordCount = myRange.ComputeStatistics(wdStatisticWords)

最初は以下のコードを使ったのですが、おかしな値を取得してしまいました。
WordCount = myRange.Words.Count 

ニュースグループでword countというキーワードで検索したら、同じ疑問を持っている人がいて、まさしくほしかったコードが記載されていました。解説はこちら

●最終段落の特定について

カーソルを移動せずに処理を行うことを目的としたRangeオブジェクトを用いています。

paraCount = ActiveDocument.Paragraphs.Count
Set myRange = ActiveDocument.Paragraphs(paraCount).Range

今回のマクロでは、特定の文字列を探さずに最終段落を特定することができるので、汎用性が高まりました。

20~110行が最終段落を特定するためのコードです。

●最終段落の特定について(従来の方法:参考)

このマクロは、もともと英文明細書の要約文の語数を数えるために作成したものです。(このときは、ほしい結果が得られなかったため、途中で作成を断念しました。)

英文の出願用明細書では、最後のページに要約(Abstract)を記載します。具体的には、abstract というタイトルの次の段落に要約文を記載します。

なので、文書中の”abstract”のキーワードを探して、その言葉の次の段落から文書の末尾までを、最終段落として選択するプログラムを用いていました。

この場合、”abstract”は、明細書中に1語しかないという前提でしたし、また、要約文が文書の一番最後にあり、それ以降は不要な文字列(メモ)などが残っていない、という前提でした。

こういう前提を知っている自分しか使えないプログラムですね。

まだ、Rangeも知らず、かつ文書中の段落の指定の方法も知らないころでした。

マクロの自動記録を使って、以下のようなコードを利用して、最終段落の特定をしていました。

    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "abstract"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = True
    End With
    Selection.Find.Execute
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.EndKey Unit:=wdStory, Extend:=wdExtend

| | コメント (0) | トラックバック (0)

2009年5月23日 (土)

フォルダ中のすべてのワードファイルの内容をコピペする

練習として作ったマクロです。用途は考えていませんが、使えるアイディアがあったら教えてください。

「copy_paste.dot」をダウンロード

●使い方

1.マクロを登録します。登録方法は、こちらをご参照ください。

2.[コピペ]ボタンがツールバーに表示されますので、クリックします。

3.インプットボックスが表示されるので、ファイルを探す対象のフォルダのパスを入力します。

例: C:\Documents and Settings\●●●\My Documents

4.OKをクリックすると、開かれているファイルの文末に、指定したフォルダ内のワードファイルの内容をすべてコピペします。

●作用
・ファイル名を入力、改行を入力、ファイル内容を入力しています。

・ファイル同士の区切りに、「改ページ」を入れています。

●つくった経緯
最近知った以下のコードを使いたくなりました。

With Documents.Open(FileName:=varTMP(i), Visible:=False)
      .Content.Copy
      .Close
End With

テンプレートに記載されたマクロの230行から260行に書かれているのですが、「ファイルを開いて内容をコピーするときに、開いたファイルを見せないようにする」指示がされています。

このコードを見つけた理由ですが、ファイルを開かずにファイルの内容をコピーする方法がないか探しました。

エクセルの場合には、ファイルを開かずにファイルの内容をコピーすることができると思います(うろ覚えですが)。

ここで紹介した「Excel VBA できる大辞典」をぱらぱらとみていたときに出ていたように思います(手元にないので、確認できません)。

ワードでも、同様の機能がないか、例のニュースグループで検索しました。

検索キーワードは、"without opening" と paste です。

結果、このページにたどり着きました。

結論からいうと、「内容をコピーするためにはファイルを開かなければいけないが、ファイルを開く動作を見えないようにすることはできる。」でした。

そして入手したのが、上に書いてあるコードです。

●工夫
フォルダ内のファイルパスを取得するコードは、こちらで使ったものを流用しました。

ファイル名も以下のコードで取得します(160行)。
ファイル名 = Mid(ファイルパス, InStrRev(ファイルパス, "\") + 1)

必要な変数の数を、Redimをつかって再定義しています。
120           ReDim varTMP(1 To FC) As Variant
130           ReDim varNam(1 To FC) As String

| | コメント (0) | トラックバック (0)

2009年5月15日 (金)

実施例の表示統一マクロ

実施例の表現統一のマクロです。「embodiment.dot」をダウンロード 

日本語の明細書を書いていると、なれない場合には、実施例1と書いたあとに、第2実施例、そして、実施形態3、、、、みたいに表現に揺れが出てしまうことありませんか?

最近、自分で特許明細書を書いたのですが、上記のような表現の揺れが出てしまいました。

また、日本語明細書を翻訳する時にも、上記のような言葉の揺れを見かけることがあります。

また、外国出願において、複数の基礎日本出願を併合して一つの出願とする場合も同じようなことが起こるとことがあります。

たとえば、基礎日本出願のそれぞれで、実施例の表記方法が異なるときに、上記のような表現の揺れが生じます。

今回紹介するマクロは、以下の4つの表現方法を一つの表現にまとめるマクロです(例はFirst Embodimentの場合)。

・第1実施例
・第1実施形態
・実施例1
・実施形態1

●作用
文書に記載された実施例の表現を、選択した一つの表現方法に書き換える

●使い方
こちらの手順にそって、インストールしてください。

②ツールバーに「EB」と書かれたボタンが表示されます。Emb1

③変換対象とする文書を開きます。
Emb3

④ボタンをクリックすると、表現方法の設定画面が表示されます。

Emb2 ④統一したい表現方法を選んで「変換(E)」ボタンをクリックします。

⑤変換された文字列が青文字で表示されます。

Emb4

●工夫
・変換後の文字列の色を青にしたので、変換箇所の確認ができます。

・数字は半角または全角のどちらでも置換対象となります。

・ユーザーフォームを使って、操作を簡単にしました。

・置換処理をrangeオブジェクトを用いて実行するので早いです。

| | コメント (0) | トラックバック (0)

2009年5月12日 (火)

段落番号の削除 再改訂版(rangeオブジェクト化)

さて、またしても段落番号の削除マクロの改訂です。「paraRemove_3.dot」をダウンロード

rangeオブジェクトを用いて、さらにスピードアップ。段落番号が多いほど、その違いを体感できると思います。

2008年12月20日に公開したマクロ(作成自体は、2008年5月ごろ)に較べると、その差は歴然で、自分でもうれしい進歩です。

ここまで体験してしまうと、やっぱりrangeオブジェクトはいいんだなと思います。

selectionオブジェクトを使いこなしてきたら、ぜひrangeオブジェクトに挑戦してください。

なお、今回の改良はselectionオブジェクトをrangeオブジェクトに変えただけでなく、前回プログラムの無駄な部分も削除したりしました。

プログラム文をご覧いただくと、修正点や修正方法がわかると思います。

| | コメント (0) | トラックバック (0)

2009年5月 3日 (日)

翻訳文の比較表作成

2009/5/10に修正版をアップしました。こちらです。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

日本語明細書と英語明細書の内容を確認するためのマクロです。「table_comparison.dot」をダウンロード 

win98se + word2000 および winXp + word2003にて動作確認をしました。

●作用

Tablecomp2
①段落ごとに対応表を作成します。

左に日本語明細書の内容、右に対応する英語明細書の内容を表示します。

表を作成する対象となる段落番号を設定することができます。

Tablecomp3
②段落ごとに、記載されている英数字が対応しているかどうか確認します。

左の例では、左の欄の日本語明細書中の青蛍光で表示された文字列は右の英語明細書中に記載されていません。

また、右の英語明細書中の黄蛍光で表示された文字列は左の日本語明細書の文字列と一致するものです。

●使い方
①マクロの登録

登録方法はこちら

保存先は、テンプレートフォルダでも、スタートアップフォルダでもどちらでもかまいません。

Tablecomp1 左のようなボタンがツールバーに表示されます。表示されない場合には、メニューのツール>テンプレートとアドイン(I)を開いて、アドインとして使用できるテンプレート欄の「table_comparison.dot 」というテンプレートのチェックボックスをオンにしてください。

②サンプル文を開く

サンプル文(「sample_text_JP2008-127318.doc」をダウンロード )を開きます。

ダイキン工業さんの特開2008-127318から抜粋させていただきました。化学式が多数記載されており、今回のマクロの効果の確認がしやすいと思います。

③比較表の作成

ツールバーの「表」ボタンをクリックします。

表として作成する段落番号を選びます。メッセージボックスで最初の段落と最後の段落を入力します。入力後、マクロが実行されて表が作成されます。

サンプル文は、34段落ありますので、開始段落を「1」、終了段落を「34」と入力すると、すべての段落を表にすることができます。

明細書中の一部だけを表にする場合には、対応する段落番号を入力します。

たとえば、段落10から段落15までを表にする場合には、開始段落を「10」と入力して、終了段落を「15」と入力します。

Tablecomp4 左が、作成された表の例です。段落1から段落3までの内容を示します。

サンプル文の英語明細書にて、[0001]から[0003]段落は青文字になっているため、作成された表においても英文字が青文字になっています。

また、サンプル文の日本語明細書中の【0003】段落および【0006】~【00011】段落、英文明細書中の[0028]-[0029]段落はデモとして意図的に削除してあります。

その結果、作成された表中には、段落番号が記載されるだけで、内容は空欄になっています。

サンプル文を確認するとわかりますが、英文明細書にて青文字部分の、[0001]から[0003]段落は[0009]と[0010]との間に記載されています。

このような場合でも、問題なく段落の内容を拾い出されます。

④英数字の対応の確認

ツールバーの「較」ボタンをクリックします。

メッセージがあわられて、比較する最大文字数を入力します。

具体的には、CF(CFO(CFCF(CF)O)(CFSOFのような長い文字列まるごとを比較するには、上記文字列の文字数である「33」を入力します。

大きな数を入れれば、文字列そのものを判定してくれますが、その文、比較処理に時間がかかります。

上記のように33文字の文字列がある場合でも、例えば「5」と入力してもかまいません。

この場合には、上記文字列を5文字ずつ7つに区切って、日本語と英語とで比較します。

比較結果をみながら、いろいろとお試しください。

Tablecomp5 差異があれば、その差異があった箇所の数をメッセージボックスで表示します。

Tablecomp6 左の例においては、比較する最大文字数を20文字とした場合の比較結果を示します。

英文中の化学式の記載をわざと誤入力してありますので、その部分が青文字になりました。

青蛍光:英語に存在しない文字列

黄蛍光:日本語と英語ともに存在する文字列

サンプルを実行して確認してください。

⑤蛍光色の削除

ツールバーの「較」のとなりのボタンをクリックすると、比較後の青色と黄色の蛍光色が削除されます。

●留意点

①比較対象の文書の作成方法

比較対象の日本語明細書と英語明細書とを両方とも同じファイルに記載します。作成方法は、サンプル文を参考にしてください。

比較対象の文書を作成する場合には、日本語明細書の最終段落のあとに【0000】(全角)と入力し、英語明細書の最終段落のあとに[0000](半角)と記載します。

②比較対象の文字列

.a-zA-Z0-9)( としています。

日本語明細書の全角英数字をすべて半角に処理した後、上記の文字列を探します。

化学式に対応するように、括弧()も比較対象としました。

●工夫

またしてもrangeオブジェクトを使用しました。

表は、比較対象の文書からコピペを繰り返して作成しているのですが、カーソルの移動をなくしたために、処理スピードがかなり向上し、画面のちらつきも減りました。

●メモ

①テーブルの開始行をタイトル行にして表示を中央よせにする
Doc.Tables(1).Rows(1).HeadingFormat = True
Doc.Tables(1).Rows(1).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

②選択範囲を半角文字にする
Selection.Range.CharacterWidth = wdWidthHalfWidth

| | コメント (1) | トラックバック (0)

2009年4月12日 (日)

上付き数字に変換マクロ

Superscript 左図のように、数式や単位で出てくる10^-15やcm^3を上付きの数字にします。

「scriptchange.dot」をダウンロード

●作用および使用事例
"^"(ハットマーク)の直後に記載されている半角の数字および"-"(マイナス記号)を、上付きの数字に変換します。

たとえば、翻訳ソフトで英文を作成した場合に、英文テキストに書式情報を追加できないことがあります。

具体的には、「The翻訳」という機械翻訳ソフトの中では、生成された英文に下線をひいたり、上付き文字に変換したりすることができません。

よって、「The翻訳」で英文を作成する場合には、上付き文字部分に”^”などの記号を残しておき、ワードファイルにテキストをコピーしてから、一括で上付き文字に変換します。

●使い方
1.マクロをインストール(方法はこちら)をすると、 ツールバーに以下のようなボタンが表示されます。Superscript2

2.上付きにしたい数字の直前に"^"(ハットマーク)を記入した文書を用意します。

Superscript3

3.[上付]ボタンをクリック

4.結果が表示されます。

Superscript4

上付きに変換された文字は黄色に着色されます。

また、ハットマークの直後に半角数字か半角マイナス記号がない場合(図では半角スペースがある場合)には、ハットマークが青色に着色されています。

5.[蛍光色削除]ボタンをクリックすると、蛍光色が削除されます。
このときに削除されるのは、以下のいずれかの条件を満たす文字列だけです。

よって、文中に別の用途でつけた蛍光色は残ります。

(条件1)蛍光着色され、かつ上付きの半角数字および半角マイナス記号

(条件2)蛍光着色された半角ハットマーク

●プログラムの考え方
以下の手順で、プログラムを組みました。

①半角のハットマークを探す

②上記①の判定がYESの場合、ハットマークの直後に半角数字もしくは半角マイナス記号があるかを判定

③上記②の判定がYESの場合、(1)ハットマークを削除して、(2)ハットマーク直後の一連の半角数字および半角マイナス記号(例えば、”-15”など)を蛍光黄色の上付き文字にする

④上記②の判定がNOの場合、上記①で見つけたハットマークを蛍光青色に着色する(数字を伴わない単独のハットマークとしてあとで確認するため)

●工夫
1.確認用に着色
上記の③と④にて着色処理を入れたので、処理した場所を確認できます。また、この着色は一括して削除できます。

2.カーソル移動を減らしました!
rangeオブジェクトを使用しました。mySuperRangeで、ハットマークを検索し、myRangeで半角数字を検索しています。よって、ハットマークの削除や着色、または半角数字の上付き処理など、カーソルを移動せずにできるようになりました。

●rangeオブジェクトについて
今回のマクロでは、あえてrangeオブジェクトを使用しましたが、selectionオブジェクトを使っても同様のことができます。

rangeオブジェクトを使ったからといって、この程度のプログラムでは体感速度が上がるわけではありません。

今は、自分の練習のためにrangeオブジェクトを使っています。

rangeオブジェクトを使ってプログラムを短くすることができるみたいなので、いろいろと試しているわけです。

マクロのプログラマの方の中には、rangeを覚えることが大切、とおっしゃっている方もいますが、まだ、私にはその違いを体感するほどのプログラミングができていません。

私たちのような初心者は、まず、selectionオブジェクトに慣れることが大切だと思います。

selectionオブジェクトなら、カーソルの動きが見えるので、デバッグがやりやすいですね。

また、検索・置換の画面と連動し、かつマクロの記録と連動するので、独学もやりやすいと思います。

| | コメント (0) | トラックバック (0)

2009年4月 4日 (土)

墨付き括弧内の数字を連番にするマクロ

【】(墨付き括弧)内の数字を連番にふりなおすマクロです。「renban.dot」をダウンロード

日本の特許出願では、定型の書式がありますね。

例えば、段落番号を【0001】などのように墨付きカッコ内に全角数字4桁にして記載するとか。

中間処理の段階でも【手続補正1】などのように、項目ごとに墨付き括弧で囲います。

今回は、墨付き括弧でくくられた名称の番号を連続番号に書き換えるマクロを紹介します。

●使い方
テンプレートをスタートアップフォルダもしくはテンプレートフォルダに保存します。(登録方法はこちら

Renban 左のような「【番号】」のボタンがツールバーに表示されます。

このボタンをクリックしてマクロを起動すると、インプットボックスが表示されますので、検索するキーワードを入力します。

Renban2 たとえば、【特許文献1】、【特許文献2】、、、と連番を振りたいときには、2を選択してください。

●作用
文書中(明細書中)に、

【特許文献1】特開2000-12345号公報
【特許文献2】特開平12-12345号公報
【特許文献3】特開2006-12345号公報

などのように、同じカテゴリーの墨付き括弧で複数の項目を記載する場合があります。

このときに、途中で【特許文献1】の次に、別の特許文献を記載する場合、以下のように番号を振りなおす必要があり手間です。

【特許文献1】特開2000-12345号公報
【特許文献2】特開2005-12345号公報
【特許文献】特開平12-12345号公報
【特許文献】特開2006-12345号公報

このマクロは、このようなときに、たとえば、

【特許文献1】特開2000-12345号公報
【特許文献@】特開2005-12345号公報
【特許文献2】特開平12-12345号公報
【特許文献】特開2006-12345号公報

といれたとしても、マクロを実行すれば、以下のように番号が続き番号に変更されます。(変更された部分を強調するために着色しましたが、実際には色は変わりません)

【特許文献1】特開2000-12345号公報
【特許文献】特開2005-12345号公報
【特許文献】特開平12-12345号公報
【特許文献】特開2006-12345号公報

なお、上記では、「」を仮の番号として入れましたが、「@」以外に全角数字であれば何を入力してもかまいません。

●工夫
①【手続補正1】、【非特許文献1】、、、など、さまざまな場面で、連番の必要がでてきますので、どのようなものにも対応できるように、inputboxを使ってみました。(プログラムでは、10~170行に対応)

inputboxで項目を選択するのは、かつてこちらに記載しましたので、そのまま例文を利用しています。

②初めて、rangeを使った検索・置換プログラムを作成してみました。

最近なんとなく例文をみながら試しています。まだ、よくわかっていないところもあり理解はあいまいですが、とりあえず動くものを作りました。

誤動作があった場合にはご連絡ください。

③プログラムの実行前・実行後でカーソル位置が変わらないようになっています。(180,190,470,480行)

④全角文字の入力方法を試してみました。(390、400行)

●キーワード
StrConv(Num, vbWide)
Set myRange = Selection.Range
Select Case
InputBox

| | コメント (0) | トラックバック (0)

2009年3月23日 (月)

【改訂】キーワードが掲載されたページを取得する

さっそくの改訂を失礼します。

昨日紹介した「キーワードが記載されたページを取得するマクロ」には暗黙のルールがありました。

それを気にせずに使えるように改訂しました。

「pagesearch.dot」をダウンロード

●暗黙のルール
「ページ番号取得のマクロ」は、以下の二つの条件が満たされたときに正常に実行されます。

①「キーワードの一覧表」を保存した状態(または閉じた状態)であること

②前回作成した「ページ取得用仮ファイル」は閉じた状態であること

<もし、上記の条件が満たされていないと。。。。(ここからは、興味がない方は、とばしてください。)>

①が満たされていない場合には、検索マクロ実行後に、「キーワードの一覧表」を保存するか否かのメッセージが表示されてしまいます。

②が満たされていない場合には、今回の検索対象となる文書を「ページ取得用仮ファイル」として保存できないために、エラーが発生します。

結果、検索対象となる文書のフォントの色を黒く変更したファイルが残ることになります。(改訂前のマクロは、別名保存のまえにフォントの色を変更していました。よって、フォントの色を変更した段階で、プログラムが停止するために、上記のようになります。)

●変更点
「ページ取得用仮ファイル」および「キーワードの一覧表」の状態に応じて対応を変更するようにプログラムを修正しました。

●ファイルが閉じていることの判定方法
それぞれ別の方法で判定することにしました。
(同じ方法にしてもいいのですが、練習のために別々にしました)

①「キーワードの一覧表」が閉じていることの判定方法
このファイル名は、テンプレートファイルの名前であり「pagesearch.dot」です。

よって、以下のプログラムを用いました。

docはdocumentとして、Foundはbooleanとして定義しています。

20    For Each doc In Documents
30        If doc.Name = "pagesearch.dot" Then Found = True
40    Next doc

20から40行で、現在開かれている文書全体の中に、"pagesearch.dot"のファイル名の文書があるかどうかを判定しています。

このプログラム文は、ヘルプの中にありました。

「開いている」 というキーワードで探しました。

      'キーワード一覧表を閉じる
830   If Found = False Then
840       ActiveWindow.Close
850   End If

すべてのキーワードの検索が終了した時点で、キーワード一覧表を閉じる処理をします。

上記のように、30行での判定がtrueにならなかった場合(つまり、Found = False の場合)には、プログラム実行当初、キーワードの一覧表が閉じられていたわけですから、840行でキーワードの一覧表を閉じる処理をします。

30行での判定がtrueだった場合には、プログラムの実行当初のとおり、キーワードの一覧表を表示したままにします。つまり、840行の「閉じる処理」を実行しません。

②「ページ取得用仮ファイル」が閉じていることの判定
一般に、「ページ取得用仮ファイル」が別のファイルとして開いているときに、文書を同じ名前「ページ取得用仮ファイル」で保存しようとした場合にエラーが発生します。

なので、このエラー(エラー番号は5153)が発生したら、「ページ取得用仮ファイル」が別のファイルとして開かれていると判定することにしました。

プログラム文では、10と、1050から1100に相当します(マクロテンプレートの編集画面を[Alt] + [F11]で開いて内容を確認してみてください)。

| | コメント (3) | トラックバック (0)

2009年3月21日 (土)

キーワードが記載されたページを取得するマクロ

キーワードを入力して、そのキーワードが記載されているページを表示します。

(テンプレートを3月23日に修正しました。)

「pagesearch.dot」をダウンロード

●使い方
【1】マクロをインストールします。
インストール用のマクロをご利用ください。

スタートアップフォルダにこのマクロを保存してください。

テンプレートフォルダに保存するとエラーになります。このマクロテンプレートの名称も変更しないでください。

ワード立ち上げと同時に、ツールバーに以下のボタンが表示されます。
Pagesearch

【2】キーワードを入力します。
一番右側のボタンをクリックして、キーワード入力用のページを表示します。

ここにキーワードを入力して保存してキーワード入力用のページを閉じます。

現在は、キーワードとして「ワイルドカード検索用の文字列」が入力されています。

検索対象は「特許番号」を想定しています。

【3】対象となる文書を開いてください。
どのような文書でもかまいません。その文書自体には、文字を書き込んだりするわけではなく、オリジナルのまま残しますので、ご心配されずにお試しください。

例で示したワイルドカードを試す場合には、特許番号が記入されている文書でお試しください。

【4】検索を実行します。
検索対象となる文書を表示させた状態でマクロを実行します。

検索ボタン(虫眼鏡とPのマーク)をクリックします。

ボタンは2種類あり、左側が「ワイルドカード検索」で右側が「通常の検索」に対応しています。

【5】検索結果を表示します。
キーワードを検索して着色・かつ結果表示します。

Pagesearch3_2 検索が終わると、検索対象とした文字列(キーワード)が掲載されているページを左図のようなメッセージボックス内に表示します。

検索文字列を着色したファイルは、「テンプレートフォルダ」内に「ページ取得用仮ファイル」という名称に変更して保存されています。

そのまま続けて、文書の編集をしないようにご注意ください。あくまでも、別ファイルになっています。

●キーワードの入力例
一番右側のボタンを押すと、検索対象となる文字列が記載された文書が現れます。

このページの冒頭(1行目)から最初の空欄行までに記載されてた文字列が、キーワードとして認識されます。

具体的に説明すると、このイメージに示されたものでは、5行目に空欄(何も書いていない行)がありますので、4行目までの4つのキーワードが検索されるわけです。

Pagesearch2

よって、青文字で示した部分は、検索キーワードに使われませんから、自由にメモを記入できます。

また、青文字部分に、ワイルドカードの入力例を記載しましたので、この機会にいろいろとお試しください。

参考例に書いてあるのは、特許番号を抜き出すためのワイルドカード表示です。

①([0-9]{4,4})-([0-9]{1,})
②([0-9]{1,})/([0-9]{1,})
③([0-9]{1,}),([0-9]{3,3}),([0-9]{3,3})
④([0-9]{5,})

①は、「4桁の半角数字」と「ハイフン」と「1桁以上の半角数字」の組み合わせを探すワイルドカードの数式です。(例:2007-12345、2005-123)

②は、「1桁以上の半角数字」と「スラッシュ」と「1桁以上の半角数字」の組み合わせを探すワイルドカードの数式です。(例:01/12589、2001/512368)

③は、7桁の半角数字で、3桁ごとに半角のコンマがある数字を探すワイルドカードの数式です。(例:1,234,567、2,345,231)

④は、5桁以上の半角数字を探すワイルドカードです。

ワイルドカードの考え方は、「Wordで実践」や、「自分で作るWordマクロ(1)」や、「ワード全機能Bible(P.732-734)」に掲載されているのでご覧ください。

検索にマクロを使う場合に、ワイルドカードを知っていると楽しみが広がります。

●工夫
元のファイルは汚さずに、対象のファイルを別ファイルとして保存します。

テンプレートファイルそのものに、検索対象の文字列を随時書き込めるようにしてみました。これは、ここ半年くらいの私の流行です。

キーワードを囲い文字にするマクロと同じ考え方です。

●キーワード
ページ番号
Selection.Information(wdActiveEndPageNumber)
繰返し処理
msgbox
Selection.Font.ColorIndex = wdAuto

| | コメント (1) | トラックバック (0)

2009年3月14日 (土)

グーグルパテントのフレーズ検索

グーグルパテントをご存知ですか。

これは、アメリカの特許庁の特許情報をグーグル流に検索しやすくしたサイトです。

アメリカの特許庁データベースでできる詳細な検索はできないようですが(例えば、出願人の州で絞込むことは無理みたい)、検索結果の表示が速いので用途によっては使えそうですね。

今回は、このグーグルパテントでのフレーズ検索に役立つマクロです。

「googlepatentsearch.dot」をダウンロード

●使い方
英語のフレーズの検索用です。

ワード文書中で、検索対象のフレーズを選択して、右クリックすると「グーグル特許検索_フレーズ」という項目が表示されます。

この項目をクリックすると、インターネットエクスプローラが立ち上がり、検索結果を表示します。

詳しい使い方は、「ぐーぐる検索用の右クリックマクロ」などをご覧ください。

●工夫
引数付きでプロシージャを呼び出すマクロです。プロシージャとは、プログラムのことです。VBAでは、マクロというプログラムのことを、プロシージャと呼びます。

プロシージャの説明は、こちらに少し記載されています。ご覧ください。

●プログラム説明
グーグルのフレーズ検索のプログラムとかなり異なります。どちらかというと、ワイルドカード検索のプログラムに近いです。

グーグルの検索では、検索するフレーズ(単語の集まり)にたいして、単語と単語とがスペースでつながれています。

よって、選択した範囲の文字列をそのまま検索すればよいのです。

ところが、グーグルパテントでは、検索するフレーズ(単語の集まり)にたいして、グーグルパテントでは、単語と単語を”+”(半角のプラス記号)でつなぐ必要があります。

よって、選択した文字列を単語ごとに分解して、それぞれを"+"でつなぎ合わせる処理をしました。

例:
word macro というフレーズを検索するときの文字列の作成例
グーグル検索  "word macro"
グーグルパテント検索  "word+macro"

他の簡単な方法をご存知の方いらっしゃったら教えてください。

●キーワード
split関数、繰り返し処理、引数、エクスプローラ起動

| | コメント (0) | トラックバック (0)

2009年3月 7日 (土)

案件名でフォルダやファイルを開くマクロ

よく使うフォルダを登録しておき、そのフォルダのなかのサブフォルダやファイルを開くことが出来るマクロです。

(3月14日追記:3月7日にアップしたマクロテンプレートのプログラムに誤記があり、作動不良がございました。修正いたしました。)

「folder_and_file_open.dot」をダウンロード

●用途1(フォルダを開く)
特定の案件用のフォルダがあるとして、その中に「客先向け」「自社向け」などとサブフォルダがあるとします。

このときに、インプットボックスで「客先向け」もしくは「自社向け」と入力すると、その入力した名称に応じたフォルダが開きます。

●用途2(ファイルを開く)
特定の案件用のフォルダに案件番号をつけたファイルを保存している場合には、案件番号を入力すれば、そのファイルが開くようになっています。

●使用方法

①特定のフォルダを登録します。

マクロテンプレートをエディタ画面で開いて下さい。詳細は、「ワードで実践」のP13などをご参照ください。)

Folder_file_open4

テンプレートの中の標準モジュールに「ファイルを開くマクロ」と「フォルダを開くマクロ」の二つのプログラムがあります。

それぞれのプログラムの60行目(プログラムの左端に書いてあります)に

myfilePath = "C:\Documents and Settings\新田順也\My Documents\マクロ集"

とありますが、この着色されたところにフォルダへのパス(住所みたいなもの)が記載されています。

上記のコード例では、myfilePathという変数にフォルダパスを格納しています。

具体的に言うと、現在の設定では、マイドキュメントのフォルダにある「マクロ集」というフォルダが、登録されています。

フォルダのパスは、フォルダを開いたときに、アドレスの欄に表示されているものです。

Folder_file_open2_2

この表示例では、"C:\Documents and Settings\新田順也\My Documents\マクロ集"がパスになります。

よく使うフォルダのパスをご自身で登録してみてください。

②案件番号を入力して動作確認
テンプレートを登録すると、ツールバーに二つのボタンが表示されます。

Folder_file_open

左側のボタンが「フォルダを開くマクロ」の実行用であり、右側のボタンが「ファイルを開くマクロ」の実行用です。

Folder_file_open3ボタンを押すと、案件名を入力するインプットボックスが表示されますので、ここに案件名を入れます。

なお、このプログラムではワード文書の名前を正確に入力した場合にのみ作動します。

ワード文書(拡張子が.doc)以外の文書のファイル名を入力した場合には、入力したファイル名のワード文書を探して表示します。

もしそのファイルがない場合には、「ファイルが見つかりません。」というメッセージとともにプログラムが終了するようにしました。

エラー処理は110~170行に記載されています。ご覧ください。

●工夫
プログラム自体は基本的なものの組み合わせです。

行番号を入力したので、プログラムを表示しなくても説明ができるので、便利です。

ファイル名を思い出しやすい名称(例えば、案件番号など)で管理されている方には、便利なプログラムだと思います。

| | コメント (0) | トラックバック (0)

2009年2月21日 (土)

段落番号の削除 改訂版

2009年5月12日に、rangeオブジェクトを用いたコードに改訂しました。最新版はこちら

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

Paranum_removal_2以前紹介した段落番号の削除を、より使いやすく改良しました。

「paraRemove_2.dot」をダウンロード

●改良点
①スピードアップ
②1ページに表示される行数を増加
③段落番号[0001]の後に半角スペースがある場合も対応

●プログラムの工夫
①プロシージャを部品化しました。
つまり、今までのように、ひとつの大きな処理のプログラムではなく、小さな処理単位を複数組み合わせたプログラムを作りました。

これは、プログラミングを学んでいる人にとっては基本的な考えらしいのですが、私は今まで知りませんでした。

メリットは、小さな処理単位にするので、処理単位のプログラムを他の目的でコピペして使えることや、エラーの発見がしやすいことなどがあります。

新しく習った技術なので、とりあえず使ってみたくてやりました。

小さな処理単位にしすぎで、わかりにくくなっているかもしれませんが、ご了承ください。

引数付でプロシージャを呼び出す方法も試してありますので、ご確認ください。便利な機能ですね。

②段落番号を全て読み込んでから、書き出しファイルを作成
前回のプログラムでは、段落番号をコピーして、書き出し用ファイルにペーストする処理をひたすら繰り返しました。

私のプログラムは、全てselectionを用いているため、処理のたびにカーソル移動があります。よって、「上記のコピペ処理をすること=二つの書類の行き来をすること」となるため、処理に時間がかかりました。

今回は、元の書類で、段落番号を全て読み込んでから、新しい書類を開いて段落番号をペーストしています。よって、書類を行き来する回数が減ったため(1回になったため)、処理スピードが上がりました。

●表示例
ボタンの色を前回のものと少しだけ変えて、黄色文字にしました。
Paranum_removal_21

| | コメント (0) | トラックバック (0)

2009年2月13日 (金)

選択範囲の参照符号を削除するマクロ

以前、参照番号の削除という記事で、参照符号をひとつずつ目で確認しながら削除するプログラムを紹介いたしました。

ここでいう参照符号とは、特許明細書で文章中に記載された括弧で囲まれた英数字を意味します。

今回は、あらかじめ選択した範囲に記載される半角丸括弧「(」と「)」とで囲まれた文字列を削除するプログラムを紹介します。

「refnum_remove_within.dot」をダウンロード

●使い方
マクロをインストール後(インストール方法はこちら)、参照符号の記載されている英文書類を用意します。

Refnum_remove_within 左のように、ツールバーに、「()」が□で囲まれたマークのボタンが表示されます。

対象となる部分を選択します。

上記ボタンをクリックします。

効果をいち早く体験してもらえるように、サンプルの文書を添付します。お試しください。

「sample_claim.doc」をダウンロード

クレーム中に記載された参照符号が一瞬で削除されて、別紙に抜き出されます。

●工夫
削除したくない符号には、下線をひくと、削除されずに残ります。

削除したものを後で確認できるように(意図しない文字列を削除することを回避するために)、参照符号を別の文書に書き出すようにしました。

また、書き出した数も表示しますので、「達成感」というか、「お得感」を見える化してみました。

| | コメント (0) | トラックバック (0)

2008年12月27日 (土)

キーワードを囲い文字にする(アップデート)

以前紹介したキーワードを囲い文字にするマクロのアップデートです。
「keywordborder_2.dot」をダウンロード

●改善点
①キーワードリスト用にファイルを別途作成する必要がありません。
②「キーワードリスト」ファイルを開くボタンをつけました。
③囲い文字か二重線かを選択できるようにしました。
④「囲い線」や「二重下線」を削除できるボタンをつけました。

●作用
Kwboarder_2

テンプレートをスタートアップフォルダに保存して下さい。また、ファイル名は変更しないでください。

イメージのとおり、ボタンが5つ表示されます。一番右側のボタン「キーワードリストを開く」をクリックすると、イメージのとおり、キーワードとして「嵌合、係合、外周」などが例示された文書が開かれます。

あらかじめ、キーワードリストの画面に、対象となるキーワードを入力します。英語でも日本語でもかまいません。

入力の規則として、キーワードは行の先頭から改行マークまでを対象にします。キーワードの先頭や最後にスペースを入れると、そのスペースも含んだキーワードが検索対象となります。

ここに登録されたキーワードを対象となる文書から検索して、「囲い線」もしくは「二重下線」にてしるしをつけます。

①囲い線で文字を囲う
対象となる文書を開いた状態で、一番左のボタン(キーワードの囲い文字化)を押します。

②囲い線を消す
対象となる文書を開いた状態で、左から二番目のボタン(囲い文字の表示オフ)

③二重下線をひく
対象となる文書を開いた状態で、左から3番目のボタン(キーワードの二重下線化)のボタンを押します。

④二重下線を消す
対象となる文書を開いた状態で、左から4番目のボタン(二重下線の表示オフ)のボタンを押します。

●使い方
私は、翻訳対象となる原文中に、発明のポイントとなる「構成要素」は囲い文字にして表示し、翻訳時の要注意キーワードは二重下線をひいています。

こうすることで、発明のポイントが集中的に記載されている箇所が目視確認できますし、翻訳ミスの低下が期待できます。

●工夫
テンプレートファイルそのものを、キーワードリストの記入用ファイルにしました。

以前公開したバージョンでは、「キーワードリスト.doc」を開いた状態で、マクロを走らせる必要があったのですが、そのファイルをどこに保存したか忘れてしまいがちで、毎回探すのが面倒だと思っていました。

また、キーワードリスト表示において、改行だけの行以降は、メモ欄として使えるようにしてみました。

このことでキーワードの使い分けが出来ます。

たとえば、構成要素である「第1キーワード群」と要注意キーワードである「第2キーワード群」を、それぞれ改行以降に表示しておくことができます。

この「第2キーワード群」をページの先頭にコピペしたあと、二重下線マクロを実行すると、この「第2キーワード群」が二重下線表示されます。

また、構成要素を囲い文字したい場合には、構成要素である「第1キーワード群」を先頭にコピペしたあと、キーワードの囲い文字化のマクロを実行します。

説明がわかりづらいかもしれませんが、いろいろと動かしてみて試して下さい。

| | コメント (0) | トラックバック (0)

2008年12月20日 (土)

段落番号の削除

段落番号を自動で削除するプログラムです。「paraRemove.dot」をダウンロード

(2009年2月21日に、本プログラムの改訂版をアップしました。こちらをどうぞ。)

一つ一つの段落番号を抜き出して、そのつど別ファイルに貼り付けているため、ページの切り替えが多く処理に時間がかかりますが、使い勝手はいいのでそのまま公開します。

●作用

Pararemove1 段落番号を削除したい文書を開いて、左の「P」のボタンをクリックするとプログラムが実行されます。


[0001]など、半角で記された段落番号4桁を削除します。

検索対象は、.Text = "[[]([0-9]{4,4})[]]^13" です。

つまり、”]”(スクウェアーブラケット)の直後で改行されている必要があります。

具体的には、下記の記載の場合においてアンダーバーが半角スペースだとすると、[0001]は削除されますが、[0002]は削除されません。

[0001]
[0002]_

削除された段落番号は、「段落番号書出し用ファイル」というファイル名の文書に貼り付けられます。このファイルは、テンプレートフォルダに保存されますが、削除してもかまいません。毎回同じ名前で保存しますので、削除しなかった場合には、前回のファイルに上書きで保存されていきます。

●用途
英文明細書作成時に、日本語との対応関係の確認のために、段落番号を入れます。しかし、納品時もしくは出願時には不要となることもあり、段落番号を全て削除します。

●工夫
段落番号の削除は一括置換でも可能ですが、削除する段落番号を別ファイルに書き出して目視確認できるようにしました。

また、書き出した段落番号の連続・不連続の確認ができます。記載される番号が前後で飛んでいる場合には、次の番号が青文字で示されるようにしました。

このことで、「訳もれ」の防止や、「段落番号の削除もれ」を防止できます。

| | コメント (0) | トラックバック (0)

2008年11月10日 (月)

テキスト貼り付け(右クリックとボタン) 修正しました。

先日書いた記事「テキスト貼り付け(右クリックとボタン)」に掲載したマクロにミスがありましたので、修正します。

「テキスト貼り付け」のボタンとして作ったのですが、後日使用したところ、作った当時の作動が確認できませんでした。理由はわかりません。

マクロの記録で、Selection.PasteAndFormat (wdPasteDefault)
というコードを記録したため、これを使っていました。

結局、うまくいかないので変更したところ、正解はこれのようです。
Selection.PasteAndFormat (wdFormatPlainText)

マクロの記録は気をつけないといけませんね。しかし、マクロを作った日には、思ったように作動していたというのも、奇妙なものです。

大変失礼いたしました。
掲載したテンプレートも修正しました。

| | コメント (0) | トラックバック (0)

2008年10月25日 (土)

テキスト貼り付け(右クリックとボタン)

メニューの編集>形式を選択して貼り付け>テキスト を選択した場合の処理を自動化します。ボタンと右クリックの両方が使えます。「textpaste.dot」をダウンロード

●使い方
ボタンは「T」とかかれたものです。右クリックすると、画像のように「テキスト貼付」のメニューが現れます。

●用途
ネットで探した文章をワードファイルにテキスト形式で貼り付ける(文字情報である色、フォント、下線、ボールドなどを消して、文字だけを貼り付けることが出来ます。)

●工夫
テーブル(表)と通常のテキストとのどちらにカーソルがある場合でも、右クリックしてメニューが表示されるようになっています。

| | コメント (0) | トラックバック (0)

2008年9月27日 (土)

ピリオド・句点までの文字を選択

現在のカーソル位置から次のピリオドや句点までを一気に選択するマクロ「dotsearch.dot」をダウンロード

●用途
文章編集時に、前後の入れ替えなどをする場合、ピリオドや句点までを選択したくなるときに使います。

●作用
Dotsearch4つのマクロをひとつのテンプレートにしました。イメージの左側のボタンから順に①上流側の句点を探す、②下流側の句点を探す、③上流側のピリオドを探す、④下流側ピリオドを探す、の4つです。

たとえば、「④下流側ピリオドを探す」マクロを説明します。
現在のカーソル位置から、次のピリオド(ダブルスペースを探します。”.  ”となっているピリオドを探して、このピリオドの左側の文字までを選択します。

文章を入力して、試してみてください。おそらく、キーボードに割り当てたほうが、使い勝手がいいと思います。キーボードへの割り当て方法は、こちらをご覧ください。

●工夫したところ
文字が選択されていても、文字が選択されていなくても作動するようになっています。

●マクロの改造ヒント
シングルスペースの場合の変更方法は、マクロに記載してあります。Visual Basic Editorでコードを確認ください。

| | コメント (0) | トラックバック (0)

2008年8月31日 (日)

簡易タイマー

1分から60分までの設定した所定時間が経過するとお知らせするタイマーです。時間を告知したときに、繰り返すかの終了するのかを選択できるので、インターバルでの告知が可能です。「timer.dot」をダウンロード

●用途
パソコンをにらんで仕事をしていると、ついつい時間がたつのを忘れてしまいがちです。休憩のリズムの維持や集中力の維持のために使えます。または、○分後の用事のリマインダとしても使えると思います。

●使用方法

①マクロの実行ボタンについて
Timer3 テンプレートをインストールして設定すると、左のようなアイコンがツールバーに現れます。このアイコンは、ワード2003に付属のボタンイメージ集から選びました。外のアイコンに変更したい方は、「Wordで実践」のP284、もしくは、「自分で作るWordマクロ(1)」のP42をご覧ください。

②タイマー時間の設定について
Timer1 上記のボタンを押すと、時刻設定のメッセージボックスが表示されます。デフォルトで60分が表示されますが、半角でも全角でもかまいませんので、1以上60以下の数値を入力してください。

③インターバル設定について
Timer2 設定した時間が経過すると、左のようにメッセージボックスが表示されます(イメージは、設定時間を1分にした場合)。ここで、「はい(Y)」ボタンを押すと、再度1分後に同じメッセージが表示されます。「いいえ(N)」ボタンを押すと、タイマーは終了します。

●工夫
public というファンクションを使いました。
このタイマーは、(A)タイマー時間の設定プログラムと(B)時間告知プログラムの二つのプログラムから成り立っています。(A)プログラムで設定した時間変数を別のプログラムである(B)プログラムで使うために、時間変数を外のプログラムからもアクセスできるようにするためにpublicで定義しました。興味がある方は、プログラムをご覧ください。

| | コメント (0) | トラックバック (0)

2008年8月 9日 (土)

参照番号の削除

半角括弧で囲まれた参照番号(例: (10), (100a) など)を削除するマクロです。「referencenumeral.dot」をダウンロード 

Referencenumeral ●作用
「参照番号を探して選択するボタン(イメージ中の左側ボタン)」と「選択された参照番号を削除して次の参照番号を選択するボタン(イメージ中の右側ボタン)」の組み合わせにより、参照番号を確認しながら削除していきます。

●用途
英文の特許クレームを作成するときに、内容の整合性を確認するために構成要素に参照番号をつけます。確認終了時に、参照番号だけを削除するときにこのプログラムを用います。

●プログラムの特徴
検索対象: 半角スペース+半角括弧+0文字以上の文字列+半角括弧とじ
削除ボタンは、上記の検索対象が選択されていない場合は作動しないようにしました。

| | コメント (0) | トラックバック (0)

特定フォルダのマクロのオンオフ切替え

特定のフォルダにいれたすべてのマクロをオンオフの切り替えをするマクロです。「template_toggle.dot」をダウンロード

Template_toggle オンオフの切り替えボタンは、イメージの左上に見えるにこちゃんマークです。

●作用
指定したフォルダ内のマクロテンプレートのオンとオフをボタンひとつで瞬時に切り替えます。

●用途
マクロを使い始めると、そのボタンやメニューの表示が多くなり画面が混雑してきます。よって、作業対象に合わせて、マクロのオンオフを切り替えることができます。「テンプレートとアドイン」の設定画面を開かずに対象となる複数のマクロの切り替えが行えます。

●設定が必要です!!

下記の2つの設定が必要です。
①プログラム中に文章の変更
特定のフォルダを選んで、そのパスを入力する必要があります。下記の例では、デスクトップ上に作成した「マクロ用フォルダ」を指定しました。

'テンプレートファイルの保存フォルダを指定します。
strPath = "C:\Documents and Settings\WordVBA\デスクトップ\マクロ用フォルダ"

②アドインの設定
上記で設定したマクロプログラムを、「アドインとして使用できるテンプレート」に指定したフォルダ内のマクロを「追加」する必要があります。方法は、メニューの ツール>テンプレートとアドイン(I) から、設定します。詳しくは、「Word2003全機能バイブル」のP886以降をご参照ください。テンプレートの扱いはなかなか難しいですね。

●プログラムの考え方
基本的な考え方は、「Wordで実践」のP256を参考にしましたが、プログラム自体はまったく違うものになりました。

P256に記載のプログラムは、あらかじめマクロの「ファイル名」を指定します。私が作成したプログラムでは、「フォルダ名」を指定します。結果、そのフォルダ内のファイル名は指定しなくても、フォルダ内のすべてのファイルが起動対象となります

フォルダ内のファイル情報を入手するコードはこちらをご覧ください。

| | コメント (0) | トラックバック (0)

先頭文字の大文字・小文字(選択文字列・ペースト文字列)

選択範囲内の先頭の1文字、もしくはペーストした文字列の先頭の一文字を、大文字もしくは小文字に変換します。「casechange.dot」をダウンロード

●用途
日英翻訳時に、文章構造を変更するときに用います。文章構造の変更にともなう先頭1文字の「大文字化・小文字化」作業をキーボードでできるようにしました。

選択範囲の先頭文字の大文字・小文字の変換を行うプログラムと、ペースト時に大文字・小文字の変換を同時に行うプログラムを作りました。

(想定ケース1)
文中に用いられていた単語を文頭に移動する場合に、移動した文字列の先頭の一文字を大文字にする必要があります。
(想定ケース2)
逆に、文頭に用いた文字列を文中に移動した場合には、文頭の一文字を小文字にします。

●キーボード割り当て
選択範囲内の先頭の1文字大文字化 Alt + ↑
選択範囲内の先頭の1文字小文字化 Alt + ↓
ペーストした文字列の先頭の一文字の大文字化 Alt + Shift + ↑
ペーストした文字列の先頭の一文字の小文字化 Alt + Shift + ↓

| | コメント (0) | トラックバック (0)

2008年8月 6日 (水)

右クリックでUS特許のPDFファイルの取得

7月22日に公開したマクロの修正版です。

マニアックなマクロを作成しました。

●参考画像

Usppdf_2

よく、翻訳時に英語表現を調べるためにUSPTOの特許を調べます。USPTOの特許検索は、キーワードを入力して詳細に調べることができて便利です。

そのときに、図面を見ながら内容を深く読みたくなる特許があるのですが、USPTOの検索サイトからは一括して特許公報をダウンロードできません。(1ページづつのダウンロードはできますが、時間がかかります。)

よって、USPTOで調べた特許番号(○,○○○,○○○の7桁)をもとに、欧州特許庁のEsp@cenetにて特許公報のPDFファイルを入手しています。

実際にこのページで番号を入力して、検索をすればいいのですが、

・7桁の番号をUS○○○○○○○とコンマを除いて入力しなおすのが手間
・目的のページ(ダウンロードのためのパスワード入力画面)まで最低5クリック
・一つ一つのページの表示に時間がかかり、5クリック分でも案外時間がかかる

というわけで、ページ表示の待ち時間をなくせるように、簡単にしてみました。

この作業を右クリックで一瞬にして行うのが、今回のマクロです。
こちらからダウンロードしてください。

「USPPDF.dot」をダウンロード 

ワードのスタートアップフォルダかテンプレートフォルダに入れてご利用ください。

●使い方
①ワードに特許番号(○,○○○,○○○の7桁)をはりつけて、その番号を選択
②右クリックしてメニューにあわられた「US特許のPDF化」を選択します。

●留意点
①7桁のコンマが2つついた数値を選択していることを前提にしたプログラムです。それ以外の数値の時にはエラーメッセージが出ることがあります。
②インターネットのブラウザが2サイト分開きます。二つ目に開く画面に、パスワード入力画面が表示される仕組みになっています。(1つ目のサイトを開かないとパスワード入力画面が開かないので、仕方なく2つの画面を開く仕組みにしました。)

②1回目のプログラムの実行では、パスワード画像が表示されないことがあります。あきらめずに、2回以上繰り返してください。データ取得のパスワード画像を表示するためには、所定時間内に最低1回は欧州特許庁のサイトにアクセスしておく必要があるようです。右クリック1回でブラウザが1つ立ち上がります。

プログラムはこちらへ

| | コメント (0) | トラックバック (0)

2008年8月 4日 (月)

キーワードを囲い文字にする

翻訳原稿中のキーワードをあらかじめ囲い文字にしておき、印刷時や画面中で確認しやすくするプログラムです。8月2日に一度公開しましたが、不備があったので、8月4日に再度公開いたします。

rangeを用いたプログラムを作成したのですが、条件によってはうまく作動しないことに気がつき、selectionのプログラムに書き換えました。原因はよくわかりません。失礼いたしました。

「keywordborder.dot」をダウンロード 

●作用
「キーワードリスト.doc」というファイルに、あらかじめ囲い文字にしたいキーワードを登録します。登録のしかたは、キーワードを記入して、直後で改行します。キーワードリスト.docは、開いたままにしておきます。

Keywordlist

原稿を表示させて、このマクロを実行(イメージの左端『A』をグレーの線で囲ったボタンをクリック)すると、原稿中のキーワードリストに記載されている単語すべてが囲い文字になります。

●用途
特許翻訳をする場合に、発明のポイントの確認やクレームの用語の実施例中での使われ方を確認するときに使っています。

●プログラム解説
Wordで実践やさしくて役に立つ「マクロ」事例集 のP99を参考にしました。

また、「キーワードリスト.doc」が開かれていない場合に、警告メッセージを発するように工夫してみました。詳細はこちらへ

| | コメント (2) | トラックバック (0)

2008年8月 3日 (日)

ぐーぐる検索用の右クリックマクロ(ワイルドカード対応版)

好評だったグーグルの右クリック検索の最新版です。下記のテンプレートには、以前紹介した通常のグーグル検索およびグーグルのフレーズ検索のマクロプログラムも下のテンプレートに含まれています。前回のgooglesearch1.dotをお持ちの方は、googlesearch1.dotを削除してお使いください。

「googlesearch2.dot」をダウンロード

Googlemenue2_2

●動作
全角または半角のスペースで区切られた複数の単語を選択してこのマクロを実行すると、区切られた箇所すべてにワイルドカード * が挿入されて検索されます。

詳しい使い方は、以前紹介したグーグル検索の記事をご覧ください。

●用途
翻訳時に、英語のコロケーションの確認につかっています。

●プログラムの工夫
選択範囲に「スペースで区切られた複数の単語」が含まれていないときに警告メッセージを表示するようにしました。プログラムでは、複数の単語を探すように命令文が書かれています。もし、選択範囲に複数の単語がない場合、ワードの性質上、選択範囲外の単語を探しにいってしまいます。このため、まず、選択範囲内に複数の単語があるのか否かを判断するようにしました。付け足しのコード文が多いため、読みにくいと思いますが、上記の目的のためにいろいろと条件文を組みました。

| | コメント (0) | トラックバック (0)

2008年7月23日 (水)

Esp@cenetの特定ページへのリンク自動作成

欧州特許庁のEspacenetへのリンクを自動で作成するプログラムです。お試し版です。テンプレートをダウンロードしてお使いください。プログラムのミスがあれば教えてください。修正します。

特許のファミリーや概略をチェックしたり、PDFデータを入手したりするのに便利!!

「espacenet.dot」をダウンロード

●留意点

PDFファイルのデータを入手するには以下の手順が必要です。
①書誌事項かファミリーのページをクリックして画面を表示させる
②PDFデータのリンクをクリックしてパスワード画面を表示させる

上記①をしないと、②の画面でパスワードの入力ができません。

●使い方

Espace1 ①特許番号の入力
左の画像のとおり、国番号の半角英語大文字を2文字いれて、特許公開公報番号もしくは特許番号を半角数字で記載します。

数字の直後で改行します。

Espace2 ②リンクの作成
画面左上に見えるボタン(欧州特許庁のマークを真似して作りました)を押します。

マクロ実行の確認メッセージが出るので、OKをクリックするとマクロが実行されて、イメージのとおりリンクが作成されます。

| | コメント (0) | トラックバック (0)

2008年7月20日 (日)

選択した文字列をグーグルで検索

選択されている文字列を、グーグルで検索するためのプログラムです。

使い勝手をよくするために、右クリックでマクロが実行されるようにテンプレートに設定しました。

●テンプレートのマクロの説明

このページの下に掲載されているテンプレートファイル「googlesearch1」をダウンロードして、ワードのStartUpフォルダもしくは、templateフォルダにコピーしてご利用ください。

選択された文字列の上にカーソルをあわせて右クリックをします。メニューに「グーグル検索」と表示されるので、そのメニューを選ぶと、インターネットブラウザが自動で立ち上がり、検索結果画面を表示します。

●プログラムの内容

Sub グーグル検索()

Dim word As String
Dim URL As String

word = Selection
URL = "
http://www.google.co.jp/search?q=" & word

ActiveDocument.FollowHyperlink address:=URL, NewWindow:=False, AddHistory:=True

End Sub

「googlesearch1.dot」をダウンロード →googlesearchの最新版へ

Googlemenue

| | コメント (0) | トラックバック (1)