こんにちは。
どなたか教えて下さい。

1台のマシンで、2台のプリンタを手動で切り替えて使用
したいと思ってます。
その際、プリンタポートが使用中かどうかを判断させたい
のですが、どうすれば良いでしょうか?
やはりAPIを使うのでしょうか?

宜しくお願いします。

A 回答 (1件)

コミュニケーション (MSComm) コントロールはつかえないですか?


調査していませんが。
    • good
    • 0
この回答へのお礼

zerosix
ありがとうございます。
調査してみます。

お礼日時:2001/08/01 17:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q手動かプログラムでの起動かの判断

ユーザーがエクセルをダブルクリックして起動したのか
それとも別プログラムからOPENされたのか
判断する方法はあるでしょうか?

ユーザーが手動で起動したら警告メッセージを出し
別プログラムから自動でOPENされたら何もメッセージを出さないという
処理をWorkbook_Openに書きたいのですが
こういう場合はどう書けばいいのでしょうか?

ちなみに別プログラムは複数あり
今後増える可能性があり、私の管理下にも無い為
別プログラムに判別する為の処理を入れる事は出来ません。

Aベストアンサー

こんにちは。

> 別プログラムからOPEN
というのは、どんなプログラムでしょう?
仮に、
Excel VBA、から、Workbooks.Open メソッドで、
ということでお話ししますが、条件によっては、
VBAからでなくとも流用出来ます。

> 処理をWorkbook_Openに書きたいのですが
Workbook_Open イベントでなくても良ければ、
Workbook_Open イベントの代りに、
標準モジュールに、
Private Sub Auto_Open()
  MsgBox "手動で起動したら警告メッセージ"
End Sub
とプロシージャを置いて、ここで処理すれば十分、
という場合もあるかと思います。

通常、ブックを開くと、まず、
Workbook_Open イベント が発生します。
もしも手動で開かれた場合は、この後に、
Private Sub Auto_Open() が呼び出されます。

手動であろうがなかろうが、共通の処理がある場合などでは、
以下のサンプルのようにしてみては如何でしょう。
従来、Workbook_Open イベント で処理していた内容を、
標準モジュールのPrivate Sub WbkOpenSeq()に書くようにして、
Application.OnTime メソッドを使って、実行プロシージャを呼ぶようにすれば、
 Private Sub Workbook_Open()
 Private Sub Auto_Open()
 Private Sub WbkOpenSeq()
の順に実行されるようになります。
WbkOpenSeq実行時に、手動で開いたどうか判るように書いています。

flgAutoOpen と名付けたフラグは、
手動で開かれたなら、True、それ以外は、False、という意味です。
Private Sub Auto_Open() を通った=手動で開かれた場合だけ、
flgAutoOpen はTrueになります。

(以下の記述中、Workbook_Open、Auto_Open、の二つは規定の名前です。
 それ以外のプロシージャ名、変数名、は、私が勝手に付けている名前です。)

' ' ========== ThisWorkbook モジュール ==========
Private Sub Workbook_Open()
  Application.OnTime Now, "WbkOpenSeq"
End Sub
' ' =============================================

' ' =============== 標準モジュール ==============
Private flgAutoOpen As Boolean
Private Sub Auto_Open()
  flgAutoOpen = True
End Sub
Private Sub WbkOpenSeq()
  ' ' 共通の処理があればココに。
  If flgAutoOpen Then ' ' 手動
    MsgBox "手動で起動したら警告メッセージ"
  Else ' ' 手動じゃない
    ' ' 従来 Workbook_Open イベントで処理していた内容をココに。
  End If
  ' ' 共通の処理があればココに。
End Sub
' ' =============================================

こんにちは。

> 別プログラムからOPEN
というのは、どんなプログラムでしょう?
仮に、
Excel VBA、から、Workbooks.Open メソッドで、
ということでお話ししますが、条件によっては、
VBAからでなくとも流用出来ます。

> 処理をWorkbook_Openに書きたいのですが
Workbook_Open イベントでなくても良ければ、
Workbook_Open イベントの代りに、
標準モジュールに、
Private Sub Auto_Open()
  MsgBox "手動で起動したら警告メッセージ"
End Sub
とプロシージャを置いて、ここで処理すれば十分、
という場合も...続きを読む

QVB4.EXE 2つで 1つのプリンタポートを制御するには?

現在は1つのプログラムで
1つのプリンタポートを制御してます。
プリンタポートに信号線が3本

制御方法は以下の通り

port = &H378 '**ポート番号の設定**

outdata = 0
If Counter_SIGNAL1 > 0 Then outdata = outdata + 1
If Counter_SIGNAL2 > 0 Then outdata = outdata + 2
If Counter_SIGNAL3 > 0 Then outdata = outdata + 4

outb port, outdata

これを
2つのプログラムで
1つのプリンタポートの制御に変更。
プリンタポートに信号線が6本

2つ目のプログラムは
 どう変えればいいでしょうか?

Aベストアンサー

>ポートの状態は読みません。

読んでみたらどうですか?ということです。
最後に書き込んだ(出力した)データーが
読めると思うのですが。

参考URL:http://www.nahitech.com/nahitafu/mame/mame5/printer.html

QVBSでuser32.dll(Win32API)を使用する方法を教えてください。

はじめてネットで質問します。失礼があったらすみません。

VBSでマウスカーソルの座標を設定する方法を教えてください。
このサイトやあちこち検索してみましたが、VBでのやり方は見つかったのですがVBSでのやり方が見つからなくて心が折れてしまいました。

自分で調べた結果、user32.dll(Win32API )のSetCursorPos を使用する必要があるところまではなんとなく理解しましたがどうやってuser32.dllを使用できように宣言するのかが解りません。

宣言さえできれば

SetCursolPos 0,0

で画面左上にマウスカーソルが移動すると思っています。

この問題で会社と家で3日ほどはまってます。
ご回答よろしくお願い致します。

Aベストアンサー

こんにちは。

VBS から API を直接呼び出すことはできません。

  MSDN: [VBA の機能で VBScript に含まれていない機能]
  http://msdn.microsoft.com/ja-jp/library/cc392401.aspx

上記参考 URL は VBA に関するドキュメントですが、中段にある宣言の
項目にありますとおり、Declare ステートメントがサポートされていない
ためです。

  [SFC mini]
  http://kandk.cafe.coocan.jp/sfcmini/catid-19.html

または、

  [Dynacall] DynWrap.DLL ダウンロードページ(En)
  http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm
  [Dynacall] サンプル
  http://www.geocities.jp/seiotaq/DynaHP/index.html#three2

などの Dll をインストールして、そこを経由することになります。

私見ですが、新たなインストールを避けたい場合や面倒に感じるので
あれば Excel VBA を使った方が良いと思います。

こんにちは。

VBS から API を直接呼び出すことはできません。

  MSDN: [VBA の機能で VBScript に含まれていない機能]
  http://msdn.microsoft.com/ja-jp/library/cc392401.aspx

上記参考 URL は VBA に関するドキュメントですが、中段にある宣言の
項目にありますとおり、Declare ステートメントがサポートされていない
ためです。

  [SFC mini]
  http://kandk.cafe.coocan.jp/sfcmini/catid-19.html

または、

  [Dynacall] DynWrap.DLL ダウンロードページ(En)
  http:/...続きを読む

QLAN内接続マシン数及びIP、マシン名の表示について

VB.NET、C言語を使用してLAN内に接続しているマシン数とそのマシンのコンピュータ名、IPを取得するプログラムを各言語で開発したいのですが参考になるものが無く困っています。
参考になるURLや方法を教えていただきたいです。
開発環境はVBはWin XPでVisual Studio 2003でC言語は gccでやろうと思っています。

Aベストアンサー

VB.NET ですが単体取得からリスト取得までたくさんありますよ。
自分仕様に合うように変更していったらいいと思います。
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=vb.net+ip+%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8D+%E4%B8%80%E8%A6%A7&num=50

QVB6で7-ZIPのAPIを使用した圧縮でフォルダが消えてしまいます

Windows2000 VB6.0で開発をしています。

7-ZipのAPIを使用してフォルダを圧縮しています。
そのときのコマンドは下記の通りです。
"a -r -tzip -mx "XXX.zip" "XXX\" *.*

圧縮もとのXXXフォルダの中には
3つのフォルダが入っていて、
そのうち一つのフォルダにはファイルが
1つも入っていません。

上のコマンドをプログラムで実行させて、
XXX.zipファイルを作成後
圧縮元となるフォルダを削除すると、
なぜか、ZIPファイルを展開したときに、
圧縮されているはずの3つのフォルダのうち、
ファイルの入っていないフォルダだけ消えて
フォルダが2つになっています。

中身が空のフォルダも残して
フォルダの構成はそのままで圧縮したいので、
フォルダが消えてしまって、困っています。

ちなみに7-Zipのソフトで実行すると、
フォルダは消えません。

7-zipのコマンドで更新オプションの部分が怪しく、
「-up2q2」など追加して色々ためしているのですが、
なかなかうまくいきません(涙)

どなたか、解決につながりそうな情報をお持ちでしたら、
どうか、教えてください。

よろしくお願い致します。 

Windows2000 VB6.0で開発をしています。

7-ZipのAPIを使用してフォルダを圧縮しています。
そのときのコマンドは下記の通りです。
"a -r -tzip -mx "XXX.zip" "XXX\" *.*

圧縮もとのXXXフォルダの中には
3つのフォルダが入っていて、
そのうち一つのフォルダにはファイルが
1つも入っていません。

上のコマンドをプログラムで実行させて、
XXX.zipファイルを作成後
圧縮元となるフォルダを削除すると、
なぜか、ZIPファイルを展開したときに、
圧縮されているはずの3つのフォルダのうち、
...続きを読む

Aベストアンサー

>どなたか、解決につながりそうな情報をお持ちでしたら、
>どうか、教えてください。

7zに対応したDLLは色々あり、質問文でどのDLLを使用した場合について述べているか不明な為、回答は不可能。

開発者の思想の違いにより「空のフォルダは書庫内に残さない」「空のフォルダは圧縮しない」「空のフォルダは展開時に新規作成しない」と考える開発者と、真逆の考え方をする開発者が居る。

もちろん、どちらが正しいとは言えないが「空フォルダが事前に用意されてないと正常に動作しないのはアプリの不具合であり、空フォルダが必要ならアプリが起動後にフォルダの有無について責任を負うべきで、書庫ツールに空フォルダの生成責任を押し付けるな」と言うのが、現在の主流。

「書庫に空フォルダが出来てしまう」「書庫に空フォルダがあると展開時に空フォルダを作ってしまう」のを「明らかなバグである」と公言する開発者も居る。

因みに、書庫ソフトによっては、DLLを呼ばずにソフト内部ですべて処理するソフトもあるので、DLLとソフトで圧縮と解凍の挙動が異なる場合がある。

「DLLは幾つかある」ので「使用目的と開発思想が一致したDLL」を探して使用しよう。

>どなたか、解決につながりそうな情報をお持ちでしたら、
>どうか、教えてください。

7zに対応したDLLは色々あり、質問文でどのDLLを使用した場合について述べているか不明な為、回答は不可能。

開発者の思想の違いにより「空のフォルダは書庫内に残さない」「空のフォルダは圧縮しない」「空のフォルダは展開時に新規作成しない」と考える開発者と、真逆の考え方をする開発者が居る。

もちろん、どちらが正しいとは言えないが「空フォルダが事前に用意されてないと正常に動作しないのはアプリの不...続きを読む


人気Q&Aランキング

おすすめ情報