tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 解決しました!!
投稿日: 2005/10/01(Sat) 22:21
投稿者K
管理人さんにヒントを頂いてから、試行錯誤した挙句、何とか解決しました!
有難うございました。(m_m)


Dim oXl As Object
Dim localByName As Process()
Dim p As Process 'プロセス
Dim tmp As Boolean
Dim process_flag As Boolean 'ブックが開いているかどうかのフラグ(閉じるとTrueになる)
oXl = CreateObject("Excel.Application")
oXl.Workbooks.Opentext(filename:="C:\ABC.csv", Comma:=True)
' この間、シートの加工処理
'フラグの初期設定
process_flag = False
tmp = False
'「process_flag」がTrueになるまで繰り返すループ 本文の内容は「LineInput(fileno)」
Do Until (process_flag = True)
   'フラグ変数「tmp」を都度都度初期設定する
   tmp = False
   '指定のExcelファイルを起動しているExcel.EXEを探し終了させる
   localByName = Process.GetProcessesByName("Excel")
   '起動中のExcelのプロセスを取得
   For Each p In localByName
      '指定のファイル名で起動中のExcelがあれば、「process_flag」をTrueにしてループを抜ける
      If System.String.Compare(p.MainWindowTitle, "Microsoft Excel - ABC.csv", True
) = 0 Then
         'フラグ変数「tmp」をTrueにする
         tmp = True
      End If
   Next
   '「配信設定.csv」が開かれていればループ継続。開かれていなければループを抜ける
   If tmp = False Then
      process_flag = True
   End If
   '1秒待機する[BASP21のコマンドです]
   bobj.Sleep(1)
Loop
'プロセス開放処理(Excelの終了)
oXl.Application.Quit()
'オブジェクトを開放
oXl = Nothing
bobj = Nothing


プロセス開放処理はきちんと入れています。これでバッチリです!

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。