[リストへもどる]
一括表示

投稿時間:2004/01/27(Tue) 17:55
投稿者名:SIN
Eメール:sin1113jp@yahoo.cp.jp
URL :
タイトル:
コマンドプロンプトへの入力について
いつもお世話になっております。

申し訳ありませんがまた教えてください。
VBで起動した Shell("\\Nmgsv003\APROSYOYAKU\PDFfreesoft\iTextFront.exe", vbNormalFocus)
をコマンドラインで操作したいのですが、VBからコマンドラインにコマンドを入力する方法が
わかりません。
WINDOWS2000のコマンドプロンプトのコマンドラインに
"iTextFront /merge @file-list.txt merged.pdf"と入力したいのです。
VBにどのように書けばいいか教えてくださいお願いします。

投稿時間:2004/01/27(Tue) 18:04
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re: コマンドプロンプトへの入力について
クリップボード経由で貼り付ける方法です。

Clipboard.Clear
Clipboard.SetText "iTextFront /merge @file-list.txt merged.pdf" & vbCrLf
Call SendKeys("% ep", True)

ただし、コマンドプロンプトがアクティブフォームである必要があります。

投稿時間:2004/01/28(Wed) 11:02
投稿者名:SIN
Eメール:sin1113jp@yahoo.cp.jp
URL :
タイトル:
Re^2: コマンドプロンプトへの入力について
> クリップボード経由で貼り付ける方法です。
>
> Clipboard.Clear
> Clipboard.SetText "iTextFront /merge @file-list.txt merged.pdf" & vbCrLf
> Call SendKeys("% ep", True)
>
> ただし、コマンドプロンプトがアクティブフォームである必要があります。
Lanternさんありがとうございます。
試してみたのですが自分の技術の無さでうまく作動しませんでした。
APPACTIVATE と SENDKEYS で操作を試みてみようと思います。

投稿時間:2004/01/28(Wed) 12:27
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re^3: コマンドプロンプトへの入力について
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
    Call Shell("cmd.exe", vbNormalFocus)
    Call Sleep(1000)
    Clipboard.Clear
    Clipboard.SetText "Dir" & vbCrLf
    Call SendKeys("% ep", True)
End Sub
たとえばこんな感じです。

アクティブフォームにはSetForegroundWindow等が使えます。
ハンドルはGetForegroundWindow、GetWindowText、FindWindow
等を使って取得します。

投稿時間:2004/01/30(Fri) 16:32
投稿者名:SIN
Eメール:sin1113jp@yahoo.cp.jp
URL :
タイトル:
Re^4: コマンドプロンプトへの入力について
Lanternさんありがとうございました。
ハンドルを使いVBで無事、操作することができました。