• ベストアンサー

VBからの作業フォルダ指定

VB6.0について質問です。 SPSSという統計ソフトをVBから起動しています。 起動後、統計ソフトから外部データの参照を行うときに プロパティから作業フォルダを指定しているのにもかかわらず System32のフォルダが開いてしまいます。 この原因にはどのようなことが考えられますか? SPSSを単独で起動した場合は指定されたフォルダが開きます。 VBから起動ソフトの作業フォルダを指定する必要があるようなのですが お知恵をお貸しください><

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>SPSSという統計ソフトをVBから起動しています。 VBのShellで起動しているのですか? APIのShellExecuteでは対応できないかな? SPSSというのはどのようなものか全くわかりませんが、メモ帳の作業パスを指定して、起動をかけることは、以下の方法で可能でした。 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As VBA.VbAppWinStyle) As Long Sub テスト()   Dim l_strExePath As String   Dim l_strWorArea As String      l_strExePath = "C:\windows\notepad.exe"   l_strWorArea = "C:\"      Call MyShell(l_strExePath, l_strWorArea) End Sub Sub MyShell(ByVal p_strExe As String, ByVal p_strWorArea As String)   Call ShellExecute(0, "open", p_strExe, vbNullString, p_strWorArea, vbNormalFocus) End Sub

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

#1 のご回答のほかでは、ChDir ステートメントとか。

関連するQ&A

  • vbからのCSV出力について

    VB6.0について質問です。 CSV出力でデータ数がエクセルの限界を超えそうなので 統計ソフトのSPSSというソフトを使おうと思うのですが VBからSPSSへの連携はできるのでしゅうか? 現在、データをカンマ区切りで変数に格納し拡張子をCSVにして出力すると 自動的にCSVファイルが作成されますが SPSSでCSV出力させるにはどうやればよいですか? 当方SPSSは触ったことがないのでお知恵をお貸しください++

  • 作業フォルダを指定してコマンドを実行するバッチについて

    とある実行ファイル(D:\aaa\a.exe)を作業フォルダ(D:\bbb)を指定して実行するバッチを作成したいのですが、コマンドラインからはどのようにすれば上記を実現できるのでしょうか? Windowsのショートカットだとプロパティに作業フォルダを指定できるのですが、どうすればよいでしょうか?

  • Pythonで作業フォルダを迅速に指定する方法

    Pythonの作業フォルダの効率的な設定方法についてお尋ねします。 シェルやプロンプトでcdコマンドで作業フォルダに入っていってもいいのですが、エクスプローラで作業したいフォルダを開いてshift+右クリックでシェルを呼び出すことができます。これは便利です。ところが、Pythonの場合、そのシェルから起動することができません。Pythonの環境を実現するシェルが別にあります(トラブルにならないようにシェルが別になっているのだと思います)。Pythonのシェルはエクスプローラから呼び出すことができないです(Python install時に環境変数PATHなどの変更が非推奨と関係してますね)。 そのためPythonで作業するとき作業フォルダを指定するのが面倒なのです(深いフォルダで日本語だったりする)。Jupyter notebookでも同じくシェルで作業フォルダに入って行ってそこで起動しています。Spyderは昔のRAD環境のようなGUIなので画面上に作業フォルダ等の指定ができますが。 他言語(C,Java)の場合、エクスプローラで作業フォルダの指定、そこでのシェルの呼び出し、code . でVScodeとかシェルの再呼び出し...編集・コンパイル..ということで作業環境の立ち上げが早いです。 以上、Pythonで作業するときの作業フォルダを迅速に指定する方法について教えて頂きたいのですが。小さいことですが、1つ面倒だと億劫になってしまいます。 よろしくお願いします。 以下のような環境です。 OS:Windwos10,11、 Python:Anaconda

  • VisualStudioInstaller:ショートカットの作業フォルダなど

    VisualStudioInstaller 1.1を使って、VB6で作ったEXEのインストーラを作っていますが、フォルダの指定がよくわからないので教えてください。 1)デスクトップに作ったショートカットの作業フォルダの指定はできますか?(空欄になってしまう) 2)アプリケーションフォルダのLOCATION(インストール時のデフォルトフォルダ)を特定のフォルダに指定することはできますか?例・・c:\aaabbb\ など よろしくお願いします。

  • コマンドプロンプトの作業フォルダーについて、(パスが指定できない!)

    コマンドプロンプトの作業フォルダーについて、(パスが指定できない!) Terapadを使いテキストエディターでファイル拡張子.c ネットなどで調べ、コマンドプロンプトのショートカットをデスクとップに表示し デスクトップに作業フォルダーを作る所までは出来たのですが。 その後、コマンドプロンプトの作業フォルダー名を変更(パスを指定)するとエラーが出る。 *エラーは、「パスが見つからない、フォルダーが作成されているのか」といったエラーで、  仮に、フォルダーを「C_fale」とし、 デスクトップのプロンプトを「右クリック」-「プロパティ」-「作業フォルダー」に、C:¥C_fileと入力し「OK」で閉じようとするとエラーになります。 何が間違っているのかさっぱりわかりません。基本的なことでも何かあれば役に立てていきたいと思います。 よろしくお願いします。

  • VB2005でDBのドライブ指定の方法

    VB2005初心者です。 MDBと接続してテーブルデータを参照・更新するプログラムを作っていますが、接続先の指定を「C:\\アプリ\VB¥支払先.mdb」と記述していますが、プログラムの保存先と同じフォルダなので省略した記述にしたいのですがでのように書いたらよいかわかりません。 省略したい理由はプログラムの保存先を移動(例えばCドライブをEドライブに「アプリ」のフォルダ名を変更)した場合でもMDBの接続部の記述を変更することなく動かしたいからです。 よろしくお願いいたします。

  • VB2008,DateTimePickerで指定する年月について

    お世話になります。 現在、VB2008で開発をしているのですが、DateTimePickerのCustomFormatで年/月のみの表示にしており、その値をもとに Selectをかけたいと思っているのですが、指定した月のみのデータを 抽出する書き方が分かりません。 selectの条件にDateTimePickerの値を設定すると、その月より前の データをすべて参照してしまいます。(2009/5と入力すると2009/4などのデータまで参照してしまう。) すみません、初歩的な質問かもしれませんが、どうかコードの書き方を教えてください。よろしくお願いします。

  • フォルダがカスタマイズ不能!?

    こんにちは、お願いいたします。 ある日のことです。アイコンを右クリック>プロパティで出るはずのカスタマイズのタブが消えていました。あと、フォルダオプションで、XPになって導入された「共通の作業を表示する」が灰色になっていて、選択できないようになってしまっていました。原因がまったく分かりません。システムの復元で2週間くらい前に戻したのですが、状況は変わりません。どなたか詳しい方、是非知恵をお貸しください。

  • VB2005でDBから取得したデータを指定されたXMLデータへ変換する方法について

    VB2005の初心者です。 Aシステムの開発(VB2005)で、Bシステムとの通信部分の開発をしています。 Bシステムとの通信はTCP/IP通信にて、XMLデータでやりとりをします。 XMLデータは、タグなど形式が決まっています。 単純に、適当なXMLデータを通信でやりとりすることはできたのですが、 AシステムでDB(SQLServer)から取得したデータを、形式に沿ったタグを使用したXMLデータに変換してから通信したいのですが、その変換方法が分りません。 DBのデータをXML形式に変換すると、フィールド名のタグでできると思うのですが、そうではなく、指定したタグを使用してXMLデータを作成するにはどうすれば良いのでしょうか。 タグを指定、もしくは変換する方法などはあるのでしょうか。 何かヒントでも良いので、たくさんの方の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • 【VB.NET】指定時刻にアプリケーションを起動する方法

    VB.NETを使い始めたばかりの初心者です。 いまVB.NETを使用して、指定時刻になった場合に指定したアプリケーションを指定した間隔で起動させるプログラムを作成しています。 作成しだしていきなり問題点が出てきてしまいました。 DataTimePickerを使用して、指定した日時を取得するところまではできたのですが、指定した日時に外部アプリケーションを起動させるところで行き詰ってしまいました。 VB.NETで指定日時に外部アプリケーションを起動させることは可能なのでしょうか? どうかよろしくお願い致します。

専門家に質問してみよう