Array
(
)

Verificar se aplicativo esta esperando resposta.

Sonederbr
   - 19 jun 2009

Em minha aplicação, o serviço abre um doc do word, capta o conteudo e eu armazeno este conteúdo em uma variavel.
Em alguns casos quando aplicação abre um .doc, por algum motivo esta somente leitura e fica com aquela janelinha tipica esperando eu clicar no OK, ou tem senha, ele fica esperando interversão do usuário para continuar, tela tipica do word.
Gostaria de saber, como em meu serviço posso fazer para que ela execute a abertura do documento, e caso não haja resposta em X segundos, tomar outro caminho e ler o próximo documento.

Preciso saber se tem como eu poderia implementar em executar a abertura do .doc, caso não consiga ler o conteudo em x segundos seguir com a aplicação. Eu ja fiz a logica de como matar o processo, so falta descobrir como verificar se o Word esta esperando minha interversão ou ocorreu algum erro para segui com a aplicação. porque o serviço rodará isolado no servidor.

Segue inicio da logica q abre o documento faz a leitura.
Funciona perfeitamente, apenas quando o doc espera interversão que eu tenho q matar o processo.

Ou melhor descobrir como abrir o documento mesmo que ele esteja somente leitura sem ter q clicar em nada.

Dim strContentFile() As String

Dim objWord As New Word.Application
Dim objDocContent As Word.Range
Try
Dim sEmail As String = ´´
objWord.Visible = True

If objWord.Documents.OpenNoRepairDialog(strCaminho & FileName, , , , ´1234´).ProtectionType = True Then
Dim arrayProcesses As Process() = Process.GetProcessesByName(´WINWORD´)
For Each unitProcess As Process In arrayProcesses
unitProcess.Kill()
Next
Dim arrayProcesses2 As Process() = Process.GetProcessesByName(´WINWORD´)
If arrayProcesses2.Count = 0 Then
Exit Sub
End If

Else
objDocContent = objWord.ActiveDocument.Content
If objDocContent.Text = ´´ Then
Console.WriteLine(´Não foi possivel Ler´)
Console.ReadKey()
Else
Console.WriteLine(´Conteudo Listado´)
Console.ReadKey()
End If

-------------------------------------------------------------------------------
Ederson Lima