過去ログ

                                Page     347
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼テキストボックスの内容をクリップボードへコピー  みつる 03/8/4(月) 13:44
   ┣環境  みつる 03/8/4(月) 13:47
   ┗Re:テキストボックスの内容をクリップボードへコピー  イケガミ 03/8/4(月) 15:08
      ┗Re:テキストボックスの内容をクリップボードへコピー  みつる 03/8/4(月) 16:48
         ┗Re:テキストボックスの内容をクリップボードへコピー  イケガミ 03/8/5(火) 1:25
            ┗Re:テキストボックスの内容をクリップボードへコピー  みつる 03/8/5(火) 14:57

 ───────────────────────────────────────
 ■題名 : テキストボックスの内容をクリップボードへコピー
 ■名前 : みつる
 ■日付 : 03/8/4(月) 13:44
 -------------------------------------------------------------------------
    Access初心者のみつるといいます。

 Accessを辞書的に使って、検索した結果をテキストボックスに
表示させ、コピーボタンをおすと、その内容がクリップボードに
コピーされるようにしたいと思ってます。

 Excelなら、Copyメソッドで簡単に出来たのですが、Accessで
はいまいち方法がわかりません。

 方法がわかる方おりましたら、どなたか教えていただけません
でしょうか?。

 すみませんが、よろしくお願いします。

 ───────────────────────────────────────  ■題名 : 環境  ■名前 : みつる  ■日付 : 03/8/4(月) 13:47  -------------------------------------------------------------------------
    すみません。パソコンの環境を書き忘れました。

 Windows 2000上で、Access2000を使用しています。

 よろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:テキストボックスの内容をクリップボードへコピー  ■名前 : イケガミ  ■日付 : 03/8/4(月) 15:08  -------------------------------------------------------------------------
   > Excelなら、Copyメソッドで簡単に出来たのですが、Accessで
>はいまいち方法がわかりません。

Me!テキストボックス名.SetFocus
DoCmd.RunCommand acCmdCopy
ではどうでしょうか?

 ───────────────────────────────────────  ■題名 : Re:テキストボックスの内容をクリップボードへコピー  ■名前 : みつる  ■日付 : 03/8/4(月) 16:48  -------------------------------------------------------------------------
   >Me!テキストボックス名.SetFocus
>DoCmd.RunCommand acCmdCopy

 イケガミさん、回答ありがとうございます。

 ただ、上記のコマンドをためしたら、「コマンドまたはアクション'コピー'は
無効です」とのエラーが出てしまい、うまく動作しないみたいです。

 ちなみに、このコマンドだと、テキストボックスの内容ではなく、テキストボ
ックスそのものをコピーすることには、なりませんでしょうか?。

 ───────────────────────────────────────  ■題名 : Re:テキストボックスの内容をクリップボードへコピー  ■名前 : イケガミ  ■日付 : 03/8/5(火) 1:25  -------------------------------------------------------------------------
   > ただ、上記のコマンドをためしたら、「コマンドまたはアクション'コピー'は
>無効です」とのエラーが出てしまい、うまく動作しないみたいです。

このRunCommand というのは、メニュー操作をVBAから実行するものですので、
特定の条件を満たしておかないと、使えない場合があります。

コピーの場合は、テキストボックスにフォーカスがあって、なおかつ、
文字列が選択状態になっているときにしか使えないですね。

一度、手動で試していただけると分かると思いますが、テキストボックスで
文字列を選択状態にしてから、「編集」⇒「コピー」はできるのですが、
選択状態になっていない場合は、上記操作ができないと思います。

「ツール」⇒「オプション」のキーボードタブにある、フィールド移動時の動作は
なんになってますか?
ここが'フィールド全体を選択' になっていれば大丈夫だと思うのですが。。。
(試してないから、自信はありませんけど。。)

VBAでそこらへんを制御するなら、ヘルプの以下の項目が参考になると思います。

SelLength、SelStart、SelText プロパティ


> ちなみに、このコマンドだと、テキストボックスの内容ではなく、テキストボ
>ックスそのものをコピーすることには、なりませんでしょうか?。

これは、上記説明で書いてあることでお分かりになると思います。

 ───────────────────────────────────────  ■題名 : Re:テキストボックスの内容をクリップボードへコピー  ■名前 : みつる  ■日付 : 03/8/5(火) 14:57  -------------------------------------------------------------------------
    イケガミさんのアドバイスを見て、以下のように、SelStartとSelLengthで、
文字列を選択するように変更したら、うまく動作しました。

Me!テキストボックス名.SetFocus
Me!テキストボックス名.SelStart = 0
Me!テキストボックス名.SelLength = Len(テキストボックス名)
DoCmd.RunCommand acCmdCopy

 Accessは難しいですね。いろいろ勉強になりました。

 また、なにかありましたら、その際はよろしくお願いします。

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 347