VS2005 VBについて教えてください。ドラッグアンドドロップ後、xdoc2txt.exe というコマンドを実行しそれをファイルに書いているのですが(xdoc2txt.exe はPDFなどをテキストに変換するツール)、DOS窓が表示された際にスクリーンに変換されたテキストが表示され、ファイルに書き出しできません。どうしてでしょうか?おしえてください。


Public Class Form1

Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop

Dim Ret As Long
Dim str As String

'ドロップされた内容を表示する
TextBox1.Text = e.Data.GetData(DataFormats.FileDrop)(0)
str = "c:\d2txt\xdoc2txt.exe " & TextBox1.Text & " > c:\d2txt\aaa.txt"
Ret = Shell(str, vbNormalFocus)
End Sub

回答の条件
  • 1人2回まで
  • 登録:2009/12/08 22:37:40
  • 終了:2009/12/08 23:04:22

回答(1件)

id:foobar_777 No.1

foobar_777回答回数78ベストアンサー獲得回数182009/12/08 23:01:41

ポイント60pt

リダイレクトの機能はシェルが提供しているからだと思います。

したがって、シェル経由でプログラムを起動してあげればよいです。

cmd /c をstrの先頭につけて実行してください。


str = "cmd /c c:\d2txt\xdoc2txt.exe " & TextBox1.Text & " > c:\d2txt\aaa.txt"

id:mai_mai_mail

できました。ありがとうございます。

2009/12/08 23:04:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません