2015/04/15

MS-Access (2000形式mdb) でクリップボードにコピー

昔の mdb (2000形式) で、タブ区切りのデータをクリップボードへコピーする機能を追加して欲しいと言われたので、とりあえず実行環境からファイルをもらってきた

データをテキストへ起こしておいて、
クリップボード関連の API を Declare 宣言して〜 とか思ったら、こっちは 64bit 環境で、Declare をスイッチで分けなきゃならん→これ現地の Access2000で通るのか??

確認のために OSXからリモートデスクトップで現地へ接続(32bit)して、ソースをいじっていたら mdb というかソースが破損!! 見えない部分に変なコードが埋め込まれてしまっているみたいで、取り除き用がない。これって、クリップボード共有で OSX とのコード変換に失敗してんじゃね〜の〜ぉ〜。接続先でコピーして貼り付けるだけで文字化けしてるし

踏んだり蹴ったりで時間が過ぎ、環境に左右されず分かりやすいのへ流れてしまった...

今回、対象は数行のテキスト(表計算へ貼り付けが目的らしい)なので、適当なダイアログをワンクッション挟んで (OpenForm の Args 引数経由でフォームへデータを送って)、テキストボックスをコピーさせる

TextEdit1 = OpenArgs
TextEdit1.SetFocus
DoCmd.RunCommand acCmdCopy


ちなみに、テキストボックスが空だったり、フォーカスが無いとエラーになりますので、一瞬でもフォームとコントロールを表示する必要があります

0 件のコメント: