2014年12月17日水曜日

特許明細書の段落番号を操作するWordアドイン DANRAKU をリリースしました

"DANRAKU"の概要



特許明細書を起案する際によく利用される機能を、Wordアドインとして1パッケージにまとめました。わずらわしい操作など無しに、ファイルをコピーするだけで簡単に利用を開始できます。

日本語明細書を作成される時や、日本語明細書をもとにPCT出願の明細書を作成される(もしくはその逆の)時に役立つ機能をまとめています。

2014年12月5日金曜日

C#でパターンマッチをやってみた

TwitterのTLに以下のTweetが流れてきたので、C#でもやってみました。


パターンマッチとは

2014年12月3日水曜日

Excel列名変換問題をExcel VBAでやってみた

【まえがき】

という記事が面白かったので、Excel VBAでも列名変換のコードを作ってみました。

SeleniumVBA(3): 要素の指定方法

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) から、Webブラウザを自動制御する方法に関するサンプルコードを掲載しています。

前回までに、基本的な制御方法を解説したので、今回から、Selenium特有の機能などについて解説したいと思います。今までの解説記事については下記をご参照ください。

SeleniumVBA(2): リモートPCのブラウザを制御する

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) から、Webブラウザを自動制御する方法に関するサンプルコードを掲載しています。

前回までに、基本的な制御方法を解説したので、今回から、Selenium特有の機能などについて解説したいと思います。今までの解説記事については下記をご参照ください。

SeleniumVBA(1): 自動制御するブラウザを指定する

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) から、Webブラウザを自動制御する方法に関するサンプルコードを掲載しています。

前回までに、基本的な制御方法を解説したので、今回から、Selenium特有の機能などについて解説したいと思います。今までの解説記事については下記をご参照ください。

動作対象

SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年10月20日月曜日

パスワードが分からないSQL DB(データベース)からデータを抜き出す

コスモテック特許情報システム社の期限管理システム PATDATAに関して、ユーザの方が契約内容によっては、DB(データベース)のパスワードを知らされていないとのことでしたので、パスワードが分からない場合でもDBからデータを取り出す方法をまとめました。

『他社システムに移行する際に、元のシステムのDBを直接参照したい』といった用途でご活用頂ければ幸いです。

※ 勘違いのないように先に補足しますが、下記の方法は、元来システム管理者が緊急時に用いるものであり、リモートから他社DBの情報をクラックして入手するなどの不正な用途には使えません。(物理的にサーバが手元にあることが前提になっています。)

最初に

以下に記載している各種SQL DB(データベース) への接続方法は、基本的に
  • 物理的にサーバ(ハードウェア)が手元にある
  • SQLサーバ(サービス)を実行しているサーバ(OS)の管理者権限を有している
ことが前提になっています。
※SQL Serverのみ管理者権限なしでもログインできる可能性はあります。

Windowsサーバの管理者パスワードが分からない場合は、システムディスクを用いてなんやかんやしてください。例えば、下記を参照。
Linuxサーバのrootパスワードが分からない場合は、シングルユーザモードで起動してください。

CACHÉ の場合

PATDATAで用いられているDBの場合になります。厳密には、SQL DBではなく、内部的にはNoSQLに近いようですが…、本題と関係ないので割愛します。

EmergencyAccessモードでDBサービスを起動させることで、パスワードの書き換えが可能です。

2014年10月15日水曜日

コスモテック特許情報システムの件、期限管理システムのまとめ、及びFUGO無償提供のお知らせ

コスモテック特許情報システム社に関して

特許事務所向けの期限管理システムのメーカーとしては、業界大手であったと思われるコスモテック特許情報システム社の業務停止に関して

この件に関して、弁理士 西村知浩様の 本音で言いたい放題!西村知浩のオフログ日記 に情報が集まっておりましたので、情報共有を目的としてここにまとめました。

現在までの状況

リース契約時の契約に関して

2014年8月14日木曜日

C3 クレームチャートの自動生成プログラム v0.1.0β

前書き


先日、下記記事に記載したように、特許明細書のテキストデータから、クレームチャートを作るプログラム(C3; Claim Chart Creator)を作りました。
さらに、下記記事に記載のように、イ号との対比(侵害品の検討)以外にも、中間処理(拒絶理由対応)にも使えるように、少し改良を加えました。
公開したところ、今回のプログラムの元となった、オリジナルのExcelファイル制作者のM,Takeshiから色々アドバイスを頂いたので、いろいろ改良を加えました。

ダウンロード

http://www.clockahead.com/soft/C3/
からダウンロードできます。
(ある程度完成した後、Vectorで公開予定です。)

変更点

C3 クレームチャートの自動生成プログラム v0.0.2β

前書き

先日、
に記載したように、特許明細書のテキストデータから、クレームチャートを作るプログラム(C3 : Claim Chart Creator)を作りました。



オリジナルのExcelシートは、イ号との対比用でしたが、せっかくなので中間処理(拒絶理由対応)にも使えるように、少し改良を加えました。

ダウンロード

からダウンロードできます。
(ある程度完成した後、Vectorで公開予定です。)

変更点

クレームチャート(イ号対比表)の自動生成プログラム

前書き

先日、M.Takeshi さんが
IPDLで公開されている特許明細書のテキストデータから、
クレームチャートを自動生成するExcelファイルをご厚意で一般公開されました。
このxlsファイル、クレーム(テキストデータ)を2枚目のシートに貼り付けると、1枚目のシートにクレームチャート(イ号との対比表)を自動生成してくれます。

クレームチャートの出力結果

なんとなくモヤモヤしたところ

このxlsファイル、手作業でクレームチャートを作ることに比べれば、大変便利なのですが、
  • 入力データの制限が気持ち厳しい
    • 特許請求の範囲の【請求項1】以降の部分だけを貼り付ける必要あり
    • 自分が確認した範囲では、【請求項*】の直後に改行なしで続けてクレームが記載されておらず、かつ、構成要件ごとに改行されているテキストデータならOK
    • 構成要件ごとに改行されていない場合、一旦編集が必要
という点が、ちょっとめんどくさいなと思い、ひとまずWindowsアプリケーションにしてみました。
アプリ化の許可を下さったM.Takeshi さん、ありがとうございます。

作ったもの

2014年6月24日火曜日

Excelアドインの削除方法


【概要】

Vectorにて公開中のExcelアドインのアンインストール方法を記載しました。
アドインに同梱のReadme.txtに記載を忘れておりました。申し訳ありません。

現在公開中のアドインは以下の2つです。
  • NonStopEspacenet
    • Excelのセルに入力された文献番号をもとに、Espacenetで当該文献を自動検索するアドイン。
  • NonStopGooglePatent
    • Excelのセルに入力された文献番号をもとに、GooglePatentで当該文献を自動検索するアドイン。

【アンインストール方法】

2014年6月17日火曜日

VBAでさらに手軽にTDDする。

【概要】

前回、VBAのユニットテスト用モジュール Assert.basを利用して、手軽にユニットテストする(テスト駆動開発;TDDする)方法について、『VBAで手軽にTDDする。(Assert.basの使い方) 』にまとめました。

オリジナルのAssert.basでは、Wordで使う際に微修正が必要、ユニットテスト実行に2,3メソッドを実行する必要がありました。

この2点が、ちょっとテストしたいといった場合には、なんだかまどろっこしいので、本家をforkして、暫定的な対策を施したものを作成しました。

【変更点】

2014年6月15日日曜日

VBAで手軽にTDDする。(Assert.basの使い方)

【概要】


VBAのユニットテスト用モジュール Assert.basを利用して、手軽にユニットテストする(テスト駆動開発;TDDする)方法についてまとめました。

「VBAで、手軽にユニットテストしたい」という方のお役に立てれば幸いです。

なお、「ユニットテストの仕方が分かれば、当然TDDの方法もわかるよな?」という雰囲気がするので、以下では、ユニットテストの方法を説明するのみに留め、具体的にVBAでTDDする方法までは説明していません。なんというタイトル詐欺。

【目次】

  • Assert.basとは
  • 導入手順
  • 使い方
    • ユニットテストの作成
    • ユニットテストの実行
    • 具体例

【Assert.basとは】

VBAで動的にコード生成&実行

【概要】

CodeModuleのプロパティメソッドを利用すると、VBAで、VBAのコードを動的に書き換える(生成する)ことができるのですが、その場合の注意点として
という話がありまして、実際、コードを動的に生成するプロシージャを含むモジュール(コードジェネレータ)内に、コードを生成した場合には、そのまま実行できません。

なのですが、下記blogに記載のように、コードジェネレータとは、別のモジュールにコードを生成した場合は、そのまま実行できました。
上記サンプルコードでは、コードが生成されるモジュールが、Module1.basに固定されていたので、この辺をもうちょいフレキシブルに対応できるようにしてみました。

【実装したコード】

2014年6月12日木曜日

Chrome拡張機能「euencc」(neueccを白くする) をリリースしました

【概略】


モダンなC#erなら(たぶん)避けて通れない有名ブログneueccを 漂白する 白背景にするChrome拡張機能「euencc」をリリースしました。

Chromeウェブストアにて公開中です!

【作成動機】

2014年5月27日火曜日

賽の河原でVBAを組むプログラマに捧げる

プラチナサーチャー(The Platinum Searcher; pt)が、
Windows環境下でも検索結果をカラー表示できるようになっていたので感動した!

プラチナサーチャー(pt)の実行画面
という、それだけの話なのですが、プラチナサーチャー、大変便利です。

VBAを使わざるを得ない状況に陥っているプログラマの皆様におかれましては、vbac (VBAコードのエクスポータ)と組み合わせて、ぜひどうぞ!

というわけで、『何の因果かVBAでコードを書かれているプログラマ(きっと前世で何かとんでもない悪行を行ったに違いない)』の皆様に向けて、少しでもVBAのコーディングが楽になるよう vbacとptの話をしたいと思います。

以下、VBAでコードを書く上で個人的に超絶お世話になっている便利ツール pt と vbac について書いてます。

2014年5月16日金曜日

asterism Ver.1.8.1β

【概要】

Ver.1.8.0βに微修正を加えました。
Vectorにて公開中です。

【詳細】

2014年5月10日土曜日

asterism Ver.1.8.0β

【概要】

3年ぶりに、asterismを更新しました。来週あたりVectorにて公開される予定です。
今回のバージョンアップ内容は、設定項目の追加です。
  •  「設定」で設定可能なオプションを追加
    • データに範囲外の値が含まれる場合、指定した色で表示可能に
    • ツールバーの文字の表示/非表示を設定可能に

【詳細】

2014年4月24日木曜日

Better VBA としてのPowerShell

まえがき

に、PowerShellからCOM経由でExcelを操作する話が載っていました。サンプルコードを見た感じでは、VBAと大差なくExcelを扱えそうでした。

というわけで、COM経由でOfficeをまともにハンドリングできるのであれば、 ~中略~ Better VBAとして使えそうな気がしたので色々試してみました。

サンプルコード

動作検証がてら、自分がVBAでよく操作するアプリに関するサンプルコードを書いてみました。(サンプルコード自体に意味はないです。)

概要

  • (ブラウザの操作) SeleniumVBAを使ったChrome の操作
    • Googleで「メタ構文」をキーワードに検索
    • 上位5位までの検索結果のページタイトルを取得
  • (Excel の操作)
    • Chromeから取得したページタイトルをセルに書き込み
  • (Word を操作) ExcelとWordの連携
    • Excelのセルの内容を、Word本文に流し込み

2014年4月17日木曜日

変更履歴に記録された変更箇所に下線を引くためのWordアドイン

概要

Wordの「変更履歴」機能を利用すると、追記した箇所には下線が、削除した部分には破線が引かれます。通常、これらの下線や破線は、変更履歴を反映させると無くなります。


人によっては、変更履歴を反映させても(変更履歴は削除したいけど)、下線や破線を実際に残したいという状況があるかと思います。

というわけで、これらの下線や破線を実際に残すためのマクロを含むアドインを作成しました。

実務的な利用場面としては、特許明細書の補正に係る手続補正書を作成する際に、「手作業で、追記箇所に下線を引きたくない!」という場合でしょうか。これについては後述しています。

2014年4月12日土曜日

VBAFrameworkに関して

VBAFramework

VBAFrameworkは、VBAっぽい書き方なんてわざわざ覚えたくないという.NETプログラマ(作者)のための.NET Frameworkクローンライクなクラス群です。

githubにて公開しています。

利用の際は、gitにて、core.autocrlf をtrueにした状態でcloneしてください。
(githubのサイトからZIPパッケージをダウンロードした場合は、改行コードがLFになっているため、手動でCR+LF に変換してください。)

2014年4月2日水曜日

新たに見つかったExcel VBAの闇について

【概要】

VBAの中でも、Word VBAやAccess VBAでは発生せず、Excel VBAでのみ発生する謎の挙動が見つかったので記念にメモします。

例によって、元カリスマVBA-erの@igetaさんが問題を特定して下さいました。

以下では、説明の都合上、Wordで用いるVBAを「Word VBA」、Accessで用いるVBAを「Access VBA」といったように記載しています。実際には、「VBA」という言語自体は、Officeソフトを問わず同一仕様です。

※ 一応補足説明。WordやAccessなどで、初期状態で呼び出せる関数が違うので、アプリケーションによってVBAの仕様が異なると誤解されている方がいるかもしれませんが、これは、単にデフォルトの参照設定が異なっているために「暗黙的に」呼び出せる関数に差が出ているだけです。

【想定する読者】


  • VBAの仕様書にない仕様・挙動まで知っておきたい方
  • VBAを極めたい方

知っておいても損はないと思うけど、実務上、今回の話が問題になることは正直ないと思います。(Officeアプリケーションをまたいで動作をするVBAコードを書くような 特殊な状況でしか役に立ちません。)

2014年3月26日水曜日

MDR-AS700BTのUSBケーブルをつくる

MDR-AS700BT
MDR-AS700BTという、SONYのBluetoothヘッドホンがあります。
数少ないオレンジ色かつBTのヘッドフォンなので、個人的にはお気に入りです!
ちなみに、その他に知ってる「オレンジ色かつBTのヘッドフォン」は、ParrotのZikヘッドフォンです。
高いです!流石に買えないです!

…閑話休題。

MDR-AS700STというこのヘッドフォン、MicroUSBで充電する仕様なのですが、
基本的に付属のUSBケーブル以外では充電できません。

別に特殊仕様のコネクタというわけではないのですが、コネクタ周辺部が、やや深い凹形状になっているせいで、多くのMicroUSBケーブルは刺さりません。

2014年3月24日月曜日

VBAでFirefoxを自動制御する方法 (基本操作)

SeleniumVBAというライブラリを用いることで、VBAからFirefoxを自動制御/操作する方法について、書いてきた記事のIndexを作成しました。
※ SeleniumVBA自体は、Firefoxに限らず、ChromeやPhantomJS、IEの制御が可能です。

基本的な操作は網羅してるはずなので、VBAでブラウザの自動制御を行いたい方のとっかかりにはなるのではないかと思います。(VBAでIEの自動制御を既に手掛けたことがある人であれば、実質的には文法の違いだけなのですんなり使えるかと思います。)

Index

VBAでOutlookの署名を本文に挿入

まえがき

VBAでメール本文に署名を挿入する方法が見当たらなかったので調べてみました。

Outlookの署名を挿入する方法に関しては、国内だと、下記記事が比較的参考になるでしょうか。この記事では、Outlook2003を対象として、「署名」のコマンドバーを探し出して、直接VBAからボタンをクリックする方法がとられています。
上記コードでもエディタ部のフォーカス位置を操作すれば解決できそうではありますが…。GUIを直接操作するコードは、Ver.間の差異を吸収し難しいので避けたいと思い、もう少し探してみたところ、下記にまさに求めていた解説がありました。

ざっくりした解説

2014年3月20日木曜日

フレーム分割されたページを操作する : ExcelからFirefox自動制御(16)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月19日水曜日

画面キャプチャを取得する : ExcelからFirefox自動制御(15)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月18日火曜日

ページのURLを取得する : ExcelからFirefox自動制御(14)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月17日月曜日

クリップボードにコピーする : ExcelからFirefox自動制御(13)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月16日日曜日

ページのURLを取得する : ExcelからFirefox自動制御(12)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月15日土曜日

画像をクリックする : ExcelからFirefox自動制御(11)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月14日金曜日

チェックボックスを選択する : ExcelからFirefox自動制御(10)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月13日木曜日

ラジオボタンを選択する : ExcelからFirefox自動制御(9)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月12日水曜日

プルダウンメニューを選択する : ExcelからFirefox自動制御(8)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月11日火曜日

リンクを開く : ExcelからFirefox自動制御(7)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月10日月曜日

Wait処理を行う : ExcelからFirefox自動制御(6)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月9日日曜日

ボタンをクリックする : ExcelからFirefox自動制御(5)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月8日土曜日

テキストボックスに文字を入力する : ExcelからFirefox自動制御(4)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月7日金曜日

vbac のGUIフロントエンドを作りました

【まえがき】

VBAのソースコードを保守し易くするためのツール vbac - ClockAhead 開発Blog  で紹介したvbac (vba is not VBA Compiler)の新Versionが公開され、色々と便利機能が増えたので、より手軽に、使いやすくするため、GUIのフロントエンドを作りました。

なお、vbacの公開場所(URL)が、今回の公開から記事の頃と変わっています。
新たなURLは、https://github.com/vbaidiot/Ariawase です。
作者は変わらず、いげたさん(@igeta)です。

Firefoxを終了する : ExcelからFirefox自動制御(3)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

秀丸でpt(Platinum Searcher)を使ってgrep検索するマクロ

pt (プラチナサーチャー; The Platinum Searcher) が便利なのでなんとなく、勢いで作ってみました。

ptについては、下記公式blogが分かり易いかと思います。

【マクロの概要】

あらかじめ設定したフォルダを検索対象として、選択中の文字列を用いて、ptでgrep検索を行います。(選択文字列がない場合は、入力ダイアログが出ます。)

2014年3月6日木曜日

指定したURLに移動 : ExcelからFirefox自動制御(2)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月5日水曜日

Firefoxを起動する : ExcelからFirefox自動制御(1)

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) からFirefoxを自動制御する方法のサンプルコードを掲載しています。

動作対象は、SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

2014年3月3日月曜日

vbac Ver.0.6.0β の新規オプションを勝手に解説してみる

vbacの最新版 (version 0.6.0β) がFutureブランチに公開されたので、勝手に解説してみる。

【最初に】

vbac は「vbac is not VBA compiler 」の略で、Excel, Word, Accessファイルに含まれるVBAコードを解放するJScript製スクリプトです。(いげたさん作)

巷に出回っているエクスポート/インポートのためのVBAコードと異なり、スクリプト単体で動作するので、BATファイルを組むなり煮るなりすることで、他のアプリや処理と連携させ易いです。

VBAコードをバージョン管理したいVBA-erは、有無を言わずに、とりあえずつかおう。

2014年2月25日火曜日

VBAでOutlookにThunderbirdの良いところを取り込んでみる

【まえがき】

Outlookに関して、他のメーラーと比べてちょっと不便に感じるところ(3点)をVBAを用いて改善してみました。具体的には、下記の3点をVBAで実現しています。
  • メール送信時に、添付ファイルのつけ忘れがないかをチェックする
  • メール送信時に、自動的にBCCに自分のアドレスをセットする
  • メール送信時に、個別に開封通知要求を設定できるようにする

2014年2月22日土曜日

VBAでOutlookを用いてメールを作成する

【概要】

ExcelやWordからVBAを用いて、Outlookでメールを作成する方法についてサンプルコードを記載します。

Thunderbirdを用いメールを作成する方法については、前回記載の通りです。


2014年2月21日金曜日

VBAでThunderbirdを用いてメールを作成する

【まえがき】


VBAからThunderbirdを呼び出して、メールを作成する方法としては、
などにサンプルコードが掲載されているのですが、実務に使うには足りない部分があるので勝手に補足してみます。

2014年2月20日木曜日

Selenium VBA: ブラウザをVBAから自動操作するだた1つの冴えた方法

【まえがき】

現状、VBAでInternetExplorer(IE)を自動制御(自動操作)するという話となると、Microsoft Internet Controlsを参照する、もしくは、CreateObjectを使うことで、IEオブジェクトを直接操作するのが定番かと思います。

自分自身、今までは、Excel VBAのマクロで,IEを自動操作しよう (DOMセレクタ関数をVBAで自作)というblog記事を参考に、IEの制御部分をラップしたクラス(VAMIE)を自作して使っていたのですが…。

自動制御の対象とする IEのバージョンが変わるごとに、細々とした修正の手間が生じる&バージョン間の差異を吸収するような不毛な処理を実装し続ける(※)ことに発狂しかけたので、このたび制御方法を見直し、決別することにしました。

※ ご存知の方も多いと思いますが、IEはバージョンによって挙動(DOM操作など)に差異があったりなかったりします。まともに複数バージョンのIEに対応したVBAコードを書こうとすると…(以下略

【IEを操作するただ1つの冴えた方法】

2014年2月17日月曜日

Ariawaseライブラリ集で学ぶVBA(3) ArrayEx

【まえがき】

VBAソースコード管理支援ツール vbac を作成されている いげ太さん作のAriawase VBAライブラリ集 (Ver. 0.6.0 β)について、何回かに分けて勉強しつつ解説してみたいと思います。

第3回目となる今回は、ArrayEx.clsについてです。

2014年2月15日土曜日

Ariawaseライブラリ集で学ぶVBA(2) CdoMail

【まえがき】

VBAソースコード管理支援ツール vbac を作成されている いげ太さん作のAriawase VBAライブラリ集 (Ver. 0.6.0 β)について、何回かに分けて勉強しつつ解説してみたいと思います。

※ 前回は Ver. 0.5.0のものを取り上げたのですが、いげ太さんから次期バージョンは、現在公開中のVer. 0.6.0 βでほぼほぼfixとのコメントを頂いたので、今回から Ver. 0.6.0 βを取り上げたいと思います。

第2回目となる今回は、CdoMail.clsについてです。

 【CdoMail.clsについて】

VBAでメールを送信したい場合(例えば、定期的に何らかの通知を行いたい場合)に便利に使えるクラスです。

Windows2000以降のWindowsで用意されているCDO(Collaboration Data Objects)というコンポーネントを利用して、メールを送信するように実装されています。
クラスの内部設計は、CDOの利用に際して必要となる定数をうまく内部に遮蔽した上で、CDOに用意されているAPIを薄くラップするような作りになっています。変な癖もないので、扱いやすいクラスだと思います。

CDOについて詳しく知りたい方は適当に検索してください。(と言っても、ざっと調べた限り、今回紹介する内容以上のものはなさそうですが…)

 【CdoMail.clsの使い方】

2014年2月13日木曜日

中国商標局の検索結果の画像が上下反転する問題への対策 (bookmarkletを作りました)

 【概要】

中国商標局の検索結果に表示される商標画像が、InternetExplorer(IE8以前) 以外では
上下反転して表示されてしまう問題がありましたので、解決策を講じました。
(この問題に関して、詳しくは下記のblog記事をご参照頂ければと思います。)

【対象】

  • 「いちいちIEで検索なんかしてられるか!」 というモダンブラウザ(Chrome, Firefox)ユーザーの方
  • 「そもそもIEなんてなかった…」 というMacユーザーの方
  • 「IEだけど、使えません…」 というIE10以降 のユーザーの方

【作ったもの】

1クリックで、検索結果の画像を本来の表示にする Bookmarkletを作りました。

Ariawaseライブラリ集で学ぶVBA(1) WinInet.bas

【まえがき】

VBAソースコード管理支援ツール vbac を作成されている@igetaさん作のAriawase VBAライブラリ集 (Ver. 0.5.0)について、何回かに分けて勉強しつつ解説してみたいと思います。
なお、Ariawase VBAライブラリ集は、自分の調べた限りでは、Microsoft Office 32bit版/64bit版の両対応です。しかも、Office2000以降であれば、だいたい動作するような気がしてます(未確認)。出所の不明なサンプルコードを流用するよりも、ずっと安心ですね!

第1回目となる今回は、WinInet.basについてです。