2017-06-29 9 views

答えて

1

回答が見つかりました。したがって、.SBSスクリプト内のVBAの動作と同様に、PythonはSPSSから直接ライブラリを使用してファイル入力ダイアログを表示できます。

BEGIN PROGRAM. 
from Tkinter import Tk 
from tkFileDialog import askopenfilename 

Tk().withdraw() 
filename = askopenfilename() 
print(filename) 
END PROGRAM. 
+1

これはうまくいきますが、CDBを使用すると、標準の統計ダイアログのようなダイアログが表示され、[参照]ウィンドウ以外のものも含めることができます。また、古いセッションの統計情報では、同じセッションでTkinterを繰り返し使用するとうまく動作しないことに注意してください。 (TkinterとViewerはメッセージキューと対戦します。)V22または23で修正されました。 – JKP

+0

説明をありがとうございます@JKP。私はV24と将来のバージョンをターゲットにしています。同時に、SPSS固有の機能の使用を最小限に抑えて分離したいと考えています。このプロジェクトは社内での使用のためのものであり、利用可能なSPSSの専門知識はますます少なくなっています。 – Interfector

+0

大丈夫。がんばろう。 CDBは、SPSS Statisticsについてよく知らないユーザーのためのターゲットインターフェイスの準備に役立ちます。 – JKP

-1

私が今まで、このようなGetFilePathとしての機能を持つSPSS統計を認識していないのですが、あなたがプログラム内で、例えば、このためのPython spssaux.getDatasetInfo機能を使用することができますが

インポートが
ファイル名= spssauxをspssaux書きます。 getDatasetInfo()

+0

私が言及しているこの特定の機能は、現在のバージョンのSPSSでは実行できない.SBSスクリプトの一部です。 – Interfector

+0

質問は、すでにロードされているファイルのパスを取得する方法ではなく、入力パスをユーザーに対話的に求める方法に関するものです。 – Interfector

1

統計情報では、sbs/wwdスクリプトは引き続きサポートされています。

wwd/sbsダイアログを作成してファイル名を入力して開くか、スクリプティングを使用せずにカスタムダイアログビルダー(ユーティリティの場合)を使用してカスタムダイアログボックスを作成し、 Browseコントロールを含み、GETコマンドを発行します。

Statisticsを起動したときにこれを実行したい場合は、実行する内容に応じて、起動スクリプトを作成するか、STATS PROJECT拡張コマンドを使用できます。