☆メイン⇒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