読者です 読者をやめる 読者になる 読者になる

Fioの素敵な日々

日々の出来事や何やらをつれづれに

【Script】WSH(Windows Script Host)でPythonを使ってみる

ActivePythonのインストール

Pythonの機能をVBScriptから使いたいということがあり、ずい分久しぶりにPythonを使ってみました。
(昔ちょっと使って初心者のまま頓挫していたわけですが)

WindowsでPythonを使う場合、ActivePythonが至り尽くせリで便利なので、再びインストールしてみることにしました。
ActivePythonは、ActivePerlなどと同じActiveStateによるものです。

ActivePythonは、Python本来の機能だけでなく、Windowsに特化した機能もプラスされています。
いつもVBScriptを動作させているWSH(Windows Script Host)上で、Pythonを動かすことができるのが大きな点です。
(WSHとは、VBScriptやJScript(MS版JavaScript)などをWindows上で実行できるようにしている仕組みです)

VBScriptはそれなりに便利なのですが、機能的にはかなり限られているので、Pythonの助けも借りてしまおうということです。

ActivePythonは、ActivePython Downloadsから、ActivePython 2.7.8 for Windows(64bit)をインストールしました。

WSH(Windows Script Host)上でクリップボードを操作してみる

VBScriptの代わりに、Pythonでクリップボードを操作して、その文字列をVBScriptに受け渡してみます。
ClipTest.wsfなど、拡張子.wsfのテキストファイルで保存してください(下の場合は文字コードShift_JISで保存してテストしています)

<?xml version="1.0" encoding="Shift_JIS"?>
<job>
<script  language="Python">
# -*- coding: #932 -*-

import win32clipboard as CB

text = u"私はカモメ"

#クリップボードに文字を送ります。
CB.OpenClipboard()
CB.SetClipboardText(text)
CB.CloseClipboard()

#クリップボードから文字列を取り出します。
CB.OpenClipboard()
cliptext = CB.GetClipboardData(1) #1 -> CF_TEXT
CB.CloseClipboard()
</script>

<script language="VBScript">
'VBScriptで表示します。
MsgBox cliptext
</script>
</job>

Pythonの場合は、文字コードの扱いがちょっと面倒な感じもしますが、上のようにしてうまくいきましたので、細かいことは気にせずに次のステージに行こうかと思います。

広告を非表示にする