VBからPC-ANYWHEREの実行方法

このQ&Aのポイント
  • VBからPC-ANYWHEREを利用してリモートオブジェクトを作成し、ホストに接続する方法を教えてください。
  • VBからPC-ANYWHEREを使って指定したフォルダにテキストファイルを送信し、ホスト側でプログラムを実行する方法を教えてください。
  • VBからPC-ANYWHEREを利用してホスト側で処理成否のログデータをリモート端末にコピーする方法を教えてください。
回答を見る
  • ベストアンサー

VBからPC-ANYWHEREの実行

どなたかご存知の方いらっしゃいましたら教えて下さい。 VISUAL BASICからSYMANTECのPC-ANYWHEREを実行するにはどうしたら良いのでしょうか。 具体的にやりたいこととしては、 (1)VBからリモートオブジェクトを作成し、既存のホストに接続 (2)リモート側からホスト側へ指定したフォルダにテキストファイルを送信 (3)送信完了後、ホストにインストール済みのプログラムを実行し、処理を行う。 (4)ホスト側のプログラムからは処理成否のログデータが吐き出されるので、それをリモート端末にコピー。 (5)接続を切る。 以上のようなことです。 ちなみにPC-ANYWHEREのバージョンは10.0、VBは5.0SP3です。 よろしくお願い致します。

  • gophe
  • お礼率100% (1/1)

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

  • ベストアンサー
  • bobble
  • ベストアンサー率34% (111/323)
回答No.1

pc-anywhereを使った事がないので詳しくわかりませんが pc-anywhereはAPIに対応しているんですか? 私の会社でも別のリモート操作ができるソフトを使用していますが、 そのソフトはAPI対応していません。 それよりも処理の内容として 1・ファイルのコピー 2・EXEの実行 3.ログファイルのコピー って事ならVBだけで対応できると思うのですが・・・ 私も詳しくはないので詳しく説明できませんが VBでリモート端末のAPLを実行する事は可能なはずです。 ただリモートで起動させるAPLを実行中に手作業が発生する(何か入力しないと いけない処理がある等)場合は無理ですが・・・

gophe
質問者

お礼

すみません、出張の為お礼遅れてしまいました。 お返事、ありがとうございました。 anywhereはapi対応しておらず、結局は以下のような記述でごまかしてしまいました。 ================================ Dim CRemoteDataManager As Object Dim CRemoteData As Object Dim AWREM As Object Dim s As Boolean 'オブジェクトを作成する。 Set CRemoteDataManager = _ CreateObject("WINAWSVR.REMOTEDATAMANAGER") Set CRemoteData = CRemoteDataManager.RetrieveObject(CHFNAME$, 3, "") Set AWREM = CreateObject("AWREM32.APPLICATION") 'CHFファイルを実行し接続を確立する。 s = AWREM.awConnect(CHFNAME$) If s = False Then MsgBox AWREM.GetError() Exit Sub End If DoEvents 'リモート端末からホスト端末へファイルをコピー If Exist(OUTTXT$) Then s = AWREM.FileXferToHost(HOSTPATH$, OUTTXT$) If s = False Then MsgBox AWREM.GetError() Exit Sub End If End If 'ホスト側のプログラムを起動する。 s = AWREM.ExecuteHostFile(HSTPRG$) If s = False Then MsgBox AWREM.GetError() Exit Sub End If '接続を解除する s = AWREM.awDisconnect() If s = False Then MsgBox AWREM.GetError() Exit Sub End If ============================== >VBでリモート端末のAPLを実行する事は可能なはずです。 >ただリモートで起動させるAPLを実行中に手作業が発生する(何か入力しない>と >いけない処理がある等)場合は無理ですが・・・ やり方はわかりませんが、可能みたいですね。 どこかの技術情報ページで見た記憶があります。 ただAPLは入力なしですが、何かリモート端末で問題が起こった時にリモート操作で手動実行または問題解決しようと考えている事と、ログイン名・パスワードを別に設定できるという事を考慮してanywhereを使用することにしたのです。 的確なアドバイスありがとうございました。

関連するQ&A

  • PC Anywhereリモートソフトの使いかた

    WinNTマシンに、業務ソフトが載っています。 リモート保守のために、PC Anywhereがインストールされていて、業務ソフトの操作で困ると、保守会社が電話回線ISDNで、デスクトップに入ってきてくれます。 そんなことが可能ならばできるはず!と、業務ソフトをリモートで動かしたいと思い立ちました。PCの前にいなくても、業務が片付けば万々歳、生産性10倍増。 しかし、保守会社が、「あのPC Anywhereはウチの会社がライセンスを買ったものだから」とかなんとかいって、使わせたくない様子。 ならば、あらたに私が、私のラインセンスを買って (それってたぶんリモート&ホストのコンプリート版なのでしょうが)、インストールして使えばいいのかしら? という状況で教えてください。 なんとしても、リモートで操作したいのです。 Administrator権限あります。 1.すでにホスト側にPC Anywhereがインストールされてるのだから、私はリモート版だけを買ってきて、私をログインできるユーザに追加する、こんな方法もありでしょうか?(つまりホストのライセンスは、保守会社のもの) 2.ホスト側のPC Anywhereはそのままにしておいて、新しいコンプリート版パッケージを、インストールする???(っと既存の上書きになるのでしょうか?) 3.PC Anywhereには手を触れず、(インターネットにはつながっていない)電話回線ISDNで接続して、EXEできる別のソフトウエアは何がおすすめでしょう? PC Anywhereを良く知らずに書いております、どうぞよろしくお願いします。

  • pc Anywhereで接続できません

    pc Anywhereで接続できません。 pc Anywhereでホストログインの画面まではでます。 その後、ユーザー名、パスワード、ドメインの入力項目が出てきます。 ドメインが出てくるPCはこの1台のみで、その他はドメインの入力が不要な為接続できます。 ドメインの入力が出てくるのはPC側の設定でしょうか、pc Anywhereの設定でしょうか? ドメインの入力をせず接続したいです。

  • VB上で実行中の無限ループの止め方

    今まで、CUIベースのBASICでのプログラムの経験はあるのですが Visual系のBASICは初心者です。 原因はわかっているのでプログラムの修正はできるのですが VB上でコンパイルして実行したときに無限ループに陥ってしまって どうにもプログラムをとめられなくなります。 そんなことがないように、実行前に全てのプロジェクトを保存して いますので、そんなに実害はないのですが、どうすればとめられるのでしょう・・ 今現在は、タスクマネージャーから強制終了させています。

  • VB6.0でFTPでのファイルの送受信

    VB6.0でFTPでのファイルの送受信(下記(1))をしようと考えております。 尚、コンポーネントは、インターネットトランスファコントロール(Inet)を使用しております。 (1)"リモートサーバーに対して、複数件のファイルを送信し、無事転送が完了したら(リモートサーバー の指定フォルダに送信された複数件のファイルがあるのを確認後)、  クライアント側のファイル(リモートサーバーに送信が済んだファイル)を消す" という処理を考えております。 ここで、質問なのですが (1)vbを使ったFTP転送で、複数件のファイルを一括転送(mputコマンドの使用)は、可能か?  (2)もし、(1)が不可能の場合、    "送信するファイルをputコマンドで1つ送って、リモート側にそのファイルがあるのを    getコマンドで確認して、もしgetであれば、クライアント側のそのファイルを消す" という処理を送信するファイル数分繰り返すことになるんですか?        1つのファイルの場合に、Inet1_State_Changeイベントで、ループさせstate = 12 の時( リモート側に正常に送信されたと考えて)、クライアント側のファイルを消していいのでしょうか?    VBのヘルプを見ると、state = 12 は、get処理で使用するというようなことを書いてありますが。     以上 

  • VB6.0でACCESSのコマンドを実行するには?

    教えてください。よろしくお願いします。 VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。 その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。 分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。

  • VB2005.NETプログラムから、エクセル2007へのマクロ実行を無効にしたい。

    <PC1 動作環境> ・OS :Vista Business ・ソフト:office2007 Excel <PC2 動作環境> ・OS :Vista Ultimate ・ソフト:office2007 Excel <目的> VB2005.NETで開発したプログラムから、 エクセルのセルに値を入れるソフト開発しており、 エクセル側にマクロを仕込み動かしています。 VB側から、エクセルのマクロを動かしたくない場合があります。 セキュリティセンター⇒マクロの設定⇒警告を表示して全てのマクロを無効にするを選択しました。 <問題> PC1では、VB側から、エクセルのマクロが実行できなくなりますが、 PC2では、VB側から、エクセルのマクロが実行できてしまう。 PC2でも、VB側から、エクセルのマクロを実行しないようにしたいのですが、どなたか解決方法を知っている方いませんでしょうか。 宜しくおねがい致します。

  • 実行時にVBのモジュールファイルを読み込んで実行する方法

    VB.netで作成したプログラムで、実行時に、ユーザが作成した*.vbファイル(VB.netのモジュールファイル)を読み込んで実行するというものを見たことがあります。 モジュールファイルにはいろいろな関数が記述されておりました(関数名等は決まりがあるのかもしれません)。どのように処理しているのかさっぱり見当がつきません。自分で調べた範囲では「リフレクション」というキーワードが出てきましたがいまいちピンときませんでした。これができればプログラムを再コンパイルしなくても動作(の一部)を換えることができ便利です。参考になるようなサイトなどご存知でしたら教えてください。

  • VBを何に使われていますか?

     こんにちは。  素朴な質問です。  20年ほど前のPC-8001時代からBasicをときどき使っています。途中で、N系BASICからVisual Basicに変更しています。そして、ちょっとした仕事のツール作りにVBやVBAを使用しています。  VBは結構本格的業務プログラムに利用できると思います。ただ、「業務ならVBではだめだ、C言語だな」という声もよく聞きます。VC++もいいとは思うのですが、VBに比べて面倒という印象が強く、なかなか本格的には手を出せません。ちなみに、VBでいくつかの業務用プログラムを制作しました。数年間問題なく、社内で動いたりもしている現状を考えると、なぜ、本格的プログラマーはVBを毛嫌いするのであろうと思ったりします。  さて、みなさまがたは、VBで何をお作りになっているのでしょうか。  規模などを含め、実際のこころをお話いただけないものでしょうか。 [過去の履歴も探しましたが、うまくは見つかりませんでした]

  • PLSQL内で実行したSQLの結果をVBに渡したい。

    VBからas sysdba でオラクルに接続できないそうなので、 VBからSQLPLUSを起動し、PLSQLを実行させることで代行しようと考えています。 そのPLSQL内で実行したSQLの結果をVB側に渡したいのですが、 何かよい方法はないでしょうか? よろしくお願い致します。

  • pcAnywhereについて質問!

     pcAnywhereを使用したいのですが、一つ質問があります。ホスト側のPCのマウスとキーボードを抜いたとします。その状態で、リモート側から接続して操作することは出来ますでしょうか?  通常のPCとは使い方が異なり、ホスト側のPCはすべての操作をタッチパネルで行っています。なので、マウス・キーボードを使うことがありません。訳あって抜きたいのです。しかし、抜いた状態でもAnywhereで通常通り操作出来るかどうかが分からないので、質問させていただきました。  分かる方お願いします。

専門家に質問してみよう