Hatena::ブログ(Diary)

Fioのスクリプト開発工房 このページをアンテナに追加 RSSフィード

◆お知らせ◆コンテンツ分けました
☆メイン⇒Fioの素敵な日々
☆ホットなサイトやニュースの紹介⇒ Fioの最新ニュース喫茶室
☆VBSなどスクリプト・プログラミング系⇒Fioのスクリプト開発工房
☆歴史系⇒Fioの素敵な世界史豆知識
☆男性化粧品・健康・ダイエット・癒しなどなど⇒Fioの「男の世界」必須アイテム
☆プレゼント等に迷ったらいかが⇒Fioの素敵なギフトショップ

2010-11-13

IEやInputboxを使わずにVBScriptでクリップボードにコピー

WSH(VBScript)でクリップボードを操作しようとすると、インターネット・エクスプローラを操作するスクリプトが検索で出てきますが、これは何と言っても重いです。しかも最近はダイアログもでるようになりました。

そこで、MS Office等をインストールするとついてくるMSFormとやらを使ってみます。

まずクリップボードにテキストをコピーする関数です。

Sub ClipSet(TextData)
  Dim FF
  Dim TB
  Set FF = CreateObject("Forms.Form.1")
  If IsEmpty(FF) Then
    Exit Sub
  End If
  Set TB = FF.Controls.Add("Forms.TextBox.1").Object
  TB.MultiLine = True
  TB.Text = TextData
  TB.SelStart = 0
  TB.SelLength = TB.TextLength
  TB.Copy
  Set TB = Nothing
  Set FF = Nothing
End Sub

次にクリップボードからテキストを取り出す関数です。

Function ClipGet()
  Dim FF
  Dim TB
  Set FF = CreateObject("Forms.Form.1")
  If IsEmpty(FF) Then
    ClipGet = NULL
  End If
  Set TB = FF.Controls.Add("Forms.TextBox.1").Object
  TB.MultiLine = True
  If TB.CanPaste Then
    TB.Paste
  End If
  ClipGet = TB.Text
  Set TB = Nothing
  Set FF = Nothing
End Function

確認は、次のようにします。

ClipSet "日本語のテスト" & vbCrLf & "二行目"
MsgBox ClipGet

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/Fio+vbs/20101113/1289655236
日記の検索

プロフィール

Fio

Fio はてなブログPro利用中

VBScript,Ruby,Python,AutoItなどのスクリプトサンプル公開

マンガでわかるJavaScript クラウドHACKS! ―同期と共有でラクチン・ノマドワークスタイル マンガでわかる暗号 新版暗号技術入門 秘密の国のアリス オブジェクト指向スクリプト言語 Ruby Access VBAプログラミング開発工房 入門・基礎編 [改訂版] VBScriptポケットリファレンス Python ポケットリファレンス 入門Luaプログラミング