2012年04月03日

ExcelハードコピーツールVer1.2の仕様変更について

1.2のリリース候補を利用して、Windows 7やOffice2010、Windows xp、Office2003等でテストを実施した結果、Windows 7のAEROとこのツールの相性はあまりよくないことに気づきました。

特に、ALT+TABを押下しても直前のウィンドウに遷移しないことがあるだけでなく、GetForegroundWindow()→GetDCEx()でデバイスコンテキストを取得し、メモリビットマップに転送しているのですが、そうすると半透明のウィンドウ枠が真っ黒になってしまいました。。。

これはPrintScreenでは発生しないため、GetDCEx以外か何かオプションが増えたりやり方を考えないといけないのですが、Windows xpでも動作させたいため、PrintScreenを押してクリップボードから画像を取得するという、原点の方法に戻そうかなと考えています。

また、設定も複雑ですので、設定画面を別途用意し、また、連続取得機能を用意したいと考えています。

とすると、1.1までと全く違う実装ではないかという反省が。。。

ごめんなさい。作ってみたら甘かったです。
元々は単純に画面のハードコピーを撮りたかっただけなのですが、色々と機能をつけていったら、、、よくばりすぎました。。。
posted by Kiruahさん at 21:42| Comment(0) | TrackBack(0) | 日記

Excel2003からExcel2010に移行するにあたって パート2

以前、「Excel2003からExcel2010に移行するにあたって」にも記載しましたが、Microsoft社にも互換性に関する情報がありましたので、あわせて情報連携と称して勝手ながらリンクしたいと思います。

1. 「Office2010 ホワイトペーパー : 互換性、マクロ、ファイル」のうち、特にマクロ互換性についてを参照ください。
概ねの内容について互換性がありますとありますが、AccessではExcelへのエクスポート機能が無効であったりします。またCommandBarsについて触れられていますが、CommandBarsにはテキストやコンボボックスも貼りつけられたり、縦方向に表示することもできます。そのような実装をしている場合については、検証されていない可能性があります。よくテストが必要だと勝手に考えています。

また、Declare文(つまりはWin32 API等を使う場合)について、32/64ビット版のうまい解決策が掲載されています。これについてはこれから検証してみます。

2. 「Office 2010 アプリケーション互換性ガイド
こちらはテスト計画、テスト方針を検討する上で参考になるかもしれません。ただし、事前に利用しているVBAの機能、ActiveX(COM/DCOM)が分かっており、それらがOffice2010でも動作することがベンダーによって保証されていることが前提と考えるべきでしょう。

問題は、上記では解決できない不具合は諦めるしかないのか?それとも別の実装を検討すべきなのか?です。
工数、つまりお金に関わる問題でもあるため、ここは顧客と相談が必要なのですが、そもそもその相談に必要となる情報を提出しにくいのが難点です。
すでにMicrosoftだからという理由は通用しない世の中だと思います。というか、最初からリバースを許容するライセンスなら、通用しないのは当たり前だったりするのですが。。。
(私ならリバースが許容されているならリバースしてしまいますし。。。)

昔、MicrosoftのSQL Server(正確にはMSDTC経由での複数サーバ間のトランザクション管理で、XIDが重複して採番されるためにSQLServerのトランザクションがゾンビになるという事象ですが)について不具合があった時、MSDNに入っていて会社経由で問い合わせたからだったからか、都合により情報を提出できず、Microsoftの担当の方から「これ以上は無理です」と言われ、「じゃぁ、うちで調べるからリバースしてもいいですか?」と聞いたら、しばらくの後「OK」と言われたのは良い思い出です。
posted by Kiruahさん at 01:00| Comment(0) | TrackBack(0) | 日記