プロが教える店舗&オフィスのセキュリティ対策術

マクロ・VBA初心者です。

マクロ・VBAを使って、下記の作業を実現することはできますか?
(WinXP SP3/Office2007)

現状:
あるアプリの画面に表示されている文字列を一つ一つコピペして、
メールのテンプレートに張り付けて送信している
同じような作業を一日に何度も行うので、非常に時間と手間がかかる


希望:
コピペ一発でメール送信できる状態にしたい


詳細:
1 クリップボード上にある複数の文字列から必要な部分だけを抜き出す
2 抜き出した文字列を任意の場所に貼り付け

例:
【コピペした文字列】

Notepadに貼り付けるとこのような情報がコピペされています。

Date 5/27/11 Time 16:30
Name SAMPLEA SECURITIES CO., LTD. Contact Sample Taro
Address 1-2-3 CHUO CHUO-KU Phone 81-3-1234-5678
SAMPLE BLDG.
City TOKYO StTK Zp1234567
Country J Japan Floor:1F Dept:TEST



【抜き出したい文字列】
日時に対応する部分
氏名に対応する部分
会社名に対応する部分
住所に対応する部分
階数に対応する部分
部署に対応する部分
連絡先に対応する部分


【抜き出した文字列を対応する箇所に張り付ける】
※最終的には下記の内容をメールで送信したい。

日時:
氏名:
会社名:
住所:
階数:
部署:
連絡先:


どのようにしたら良いか手順を追って説明頂けると大変助かります。
どうぞ宜しくお願いします。

A 回答 (1件)

作成例1:


下記のような手順でダイレクトに「丸ごと」を取得できます。
http://officetanaka.net/excel/vba/tips/tips20.htm

取得したら,あとは文字列操作を頑張って必要なデータを切り出していく手順になります。


作成例2:
で。実際にはクリップボードからわざわざ変数に受けるより
1.セルにそのまま貼り付ける
2.worksheet_changeイベントで各行のデータを順繰り自動処理させる
3.上述で検討した文字列操作の処理により,必要なデータを切り出して「所定のセル」に書き出していく
という段取りの方が,簡単なマクロで作成できます。

worksheet_changeイベントについて聞いたこともありませんという事なら
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
などで勉強してみてください。



いずれの作成例にしても,今回のお仕事でコアになるのは「所定の文字列を見つけて切り出していく」手順です。
アイデアは様々考えつくと思いますので,どれでも思いついた方法でまずチャレンジしてみてください。
その上で困ってしまったときは,「こういうアプローチを試みたいと思ったんだけどここが判らなくて/実際にこうやってみたらこういう具合にうまく行かない結果になってしまい,行き詰まりました」の部分を明確にして,改めてスポットでご質問を投稿なさってみてください。
    • good
    • 0
この回答へのお礼

keithinさん

早速の回答ありがとうございます。
まずは、頂いたリンクを元に自分で試行錯誤してみます。
また、不明な点があれば質問させて頂きます。

お礼日時:2011/05/26 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!