Usuário com melhor resposta
Eliminar KIX do script

Pergunta
-
Pessoal
Como eu poderia eliminar o KIX desse script? Esse script é para chamar umas telas que tenho de informativo que estão no Sevidor01 em html, porem joga na tela do usuário como um infomativo. O usuário clica em ok e a tela some, só que esta dando um erro por causa do KIX e eu queria deixar só no vbs....se alguem puder me ajudar agradeço.
O Fabio Jr, que responde alguns tópicos aqui, me ajudou muito, queria ver se outros tambem poderiam analisar e dar sugestões para sumir com o KIX.
Obrigado.
aviso_House
sub Aviso_HOUSE()
strPasta = "\\Servidor01\SCAN\Telas\Telas\"
strKIXWIN = "\\Servidor02\netlogon\kixwin"
strArguments = ";;OK"
strStyle = "dialogWidth:850px;dialogHeight:550px;help:no;center:yes;scroll:no"
if right(strPasta,1) <> "\" then strPasta = strPasta & "\"'=== Define o periodo
tHora = time
if tHora >= #5:00# and tHora < #12:00# then
strHorario = "manha"
elseif tHora >= #12:01# and tHora < #18:00# then
strHorario = "tarde"
else
strHorario = "noite"
end ifstrPasta = strPasta & strHorario
'=== Conta Pastas
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(strPasta)
iQtdFolders = folder.subfolders.count'=== Randomiza
lowerbound = 1
upperbound = iQtdFolders
Randomize
iRand = Int( ( upperbound - lowerbound + 1 ) * Rnd + lowerbound )for each f in folder.subfolders
i=i+1
strPastaRnd = f.name
if i=iRand then exit for
next'=== Mostra Tela
strAviso = strPasta + "\" + strPastaRnd + "\telaseg.html"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run strKIXWIN + " " + strAviso + " " + strArguments + " " + strStyle, 1, trueEND SUB
Respostas
-
Paulo,
Eu dei a dica 99% certa, a linha que monta strAviso tinha que vir antes do ie.navigate(strAviso)
Ficaria assim:
aviso_House sub Aviso_HOUSE() strPasta = "\\Servidor01\SCAN\Telas\Telas\" 'strKIXWIN = "\\Servidor02\netlogon\kixwin" 'strArguments = ";;OK" 'strStyle = "dialogWidth:850px;dialogHeight:550px;help:no;center:yes;scroll:no" if right(strPasta,1) <> "\" then strPasta = strPasta & "\" '=== Define o periodo tHora = time if tHora >= #5:00# and tHora < #12:00# then strHorario = "manha" elseif tHora >= #12:01# and tHora < #18:00# then strHorario = "tarde" else strHorario = "noite" end if strPasta = strPasta & strHorario '=== Conta Pastas Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(strPasta) iQtdFolders = folder.subfolders.count '=== Randomiza lowerbound = 1 upperbound = iQtdFolders Randomize iRand = Int( ( upperbound - lowerbound + 1 ) * Rnd + lowerbound ) for each f in folder.subfolders i=i+1 strPastaRnd = f.name if i=iRand then exit for next '=== Mostra Tela strAviso = strPasta + "\" + strPastaRnd + "\telaseg.html" set ie = WScript.CreateObject("InternetExplorer.Application") 'set the ie properties ie.ToolBar = 0 ie.StatusBar = 1 ie.Width = 850 ie.Height = 550 Do While IE.Busy WScript.Sleep 200 Loop ie.Visible = True 'navigate to a web page ie.Navigate(strAviso) END SUB
Fábio de Paula Junior- Marcado como Resposta Paulo Édison Bispo sexta-feira, 9 de dezembro de 2011 11:44
- Não Marcado como Resposta Paulo Édison Bispo sexta-feira, 9 de dezembro de 2011 12:48
- Sugerido como Resposta Fábio JrModerator sexta-feira, 9 de dezembro de 2011 16:16
- Marcado como Resposta Paulo Édison Bispo sexta-feira, 9 de dezembro de 2011 16:31
Todas as Respostas
-
Pessoal
Como eu poderia eliminar o KIX desse script? Esse script é para chamar umas telas que tenho de informativo que estão no Sevidor01 em html, porem joga na tela do usuário como um infomativo. O usuário clica em ok e a tela some, só que esta dando um erro por causa do KIX e eu queria deixar só no vbs....se alguem puder me ajudar agradeço.
O Fabio Jr, que responde alguns tópicos aqui, me ajudou muito, queria ver se outros tambem poderiam analisar e dar sugestões para sumir com o KIX.
Obrigado.
aviso_House
sub Aviso_HOUSE()
strPasta = "\\Servidor01\SCAN\Telas\Telas\"
strKIXWIN = "\\Servidor02\netlogon\kixwin"
strArguments = ";;OK"
strStyle = "dialogWidth:850px;dialogHeight:550px;help:no;center:yes;scroll:no"
if right(strPasta,1) <> "\" then strPasta = strPasta & "\"'=== Define o periodo
tHora = time
if tHora >= #5:00# and tHora < #12:00# then
strHorario = "manha"
elseif tHora >= #12:01# and tHora < #18:00# then
strHorario = "tarde"
else
strHorario = "noite"
end ifstrPasta = strPasta & strHorario
'=== Conta Pastas
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(strPasta)
iQtdFolders = folder.subfolders.count'=== Randomiza
lowerbound = 1
upperbound = iQtdFolders
Randomize
iRand = Int( ( upperbound - lowerbound + 1 ) * Rnd + lowerbound )for each f in folder.subfolders
i=i+1
strPastaRnd = f.name
if i=iRand then exit for
next'=== Mostra Tela
strAviso = strPasta + "\" + strPastaRnd + "\telaseg.html"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run strKIXWIN + " " + strAviso + " " + strArguments + " " + strStyle, 1, trueEND SUB
Pessoal,
Alguém tem alguma sugestão?
-
Paulo,
O seu script feito em Kix chamava um programa externo (KIXWIN) e este chamava um arquivo para ser aberto por ele(arquivo html).
Um exemplo bem parecido é um script chamar o Word(programa externo) que abre um arquivo .doc.
Fazendo uma analogia: você está tentando abrir um .doc sem usar o Word.
Conseguir o mesmo resultado que vc tinha com o KIXWIN sem usar o KIXWIN vai ser dificil.
Para sua sorte o arquivo que o KIXWIN utilizava é um HTML e existem diversos programas que podem abri-lo inclusive o Internet Explorer que já vem com o sistema operacional.
Sugestão: Utilize o Internet Explorer como um objeto do VBScript e configure o objeto para chegar o mais próximo possivel do visual que vc tinha com o KIXWIN (esconder botões, barras, etc).
Um exemplo de uso deste objeto, insira isto no final do seu script .VBS após o comentário "'===Mostra Tela":
set ie = WScript.CreateObject("InternetExplorer.Application") 'set the ie properties ie.ToolBar = 0 ie.StatusBar = 1 ie.Width = 850 ie.Height = 550 Do While IE.Busy WScript.Sleep 200 Loop ie.Visible = True 'navigate to a web page ie.Navigate(strAviso)
Referências:
InternetExplorer Object http://msdn.microsoft.com/en-us/library/aa752084%28v=vs.85%29.aspx
Forum http://www.kixtart.org/forums/ubbthreads.php?ubb=showflat&Number=203203
Uso do objeto IE : http://www.robvanderwoude.com/vbstech_ui_userinput.php
Fábio de Paula Junior- Editado Fábio JrModerator quinta-feira, 8 de dezembro de 2011 23:11 Acerto largura altura
-
Fabio bom dia,
Acredito que falta pouco agora. Fiz os teste, comentei algumas linhas pois verifiquei que não eram mais necessarias de acordo com o outro pedaço do script que vc enviou. Acredito que possa ter até mais linhas que possam ser removidas. Fiz as alterações e executei. Ele abre a tela do IE, porém ela vem vazia, como se a pagina não pudesse ser exibida. Ou seja, as figuras não são mostradas. Pelo que eu analisei, acho que é só o que esta faltando. Conforme vc pode ver, a tela vem em branco. Vc consegue identificar o que esta faltando para que as figuras possam ser mostradas?
Fabio, acredito que algumas questões possam ser simples para vc, mas é que eu não manjo naaaaadaaaaa de script. Mas acho que falta pouco.
aviso_House
sub Aviso_HOUSE()
strPasta = "\\Servidor01\SCAN\Telas\Telas\"
'strKIXWIN = "\\Servidor02\netlogon\kixwin"
'strArguments = ";;OK"
'strStyle = "dialogWidth:850px;dialogHeight:550px;help:no;center:yes;scroll:no"
if right(strPasta,1) <> "\" then strPasta = strPasta & "\"
'=== Define o periodo
tHora = time
if tHora >= #5:00# and tHora < #12:00# then
strHorario = "manha"
elseif tHora >= #12:01# and tHora < #18:00# then
strHorario = "tarde"
else
strHorario = "noite"
end if
strPasta = strPasta & strHorario
'=== Conta Pastas
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(strPasta)
iQtdFolders = folder.subfolders.count
'=== Randomiza
lowerbound = 1
upperbound = iQtdFolders
Randomize
iRand = Int( ( upperbound - lowerbound + 1 ) * Rnd + lowerbound )
for each f in folder.subfolders
i=i+1
strPastaRnd = f.name
if i=iRand then exit for
next
'=== Mostra Tela
set ie = WScript.CreateObject("InternetExplorer.Application")
'set the ie properties
ie.ToolBar = 0
ie.StatusBar = 1
ie.Width = 850
ie.Height = 550
Do While IE.Busy
WScript.Sleep 200
Loop
ie.Visible = True
'navigate to a web page
ie.Navigate(strAviso)
strAviso = strPasta + "\" + strPastaRnd + "\telaseg.html"
Set WshShell = WScript.CreateObject("WScript.Shell")
'WshShell.Run strKIXWIN + " " + strAviso + " " + strArguments + " " + strStyle, 1, true
END SUB
Fico no aguardo.
-
Paulo,
Eu dei a dica 99% certa, a linha que monta strAviso tinha que vir antes do ie.navigate(strAviso)
Ficaria assim:
aviso_House sub Aviso_HOUSE() strPasta = "\\Servidor01\SCAN\Telas\Telas\" 'strKIXWIN = "\\Servidor02\netlogon\kixwin" 'strArguments = ";;OK" 'strStyle = "dialogWidth:850px;dialogHeight:550px;help:no;center:yes;scroll:no" if right(strPasta,1) <> "\" then strPasta = strPasta & "\" '=== Define o periodo tHora = time if tHora >= #5:00# and tHora < #12:00# then strHorario = "manha" elseif tHora >= #12:01# and tHora < #18:00# then strHorario = "tarde" else strHorario = "noite" end if strPasta = strPasta & strHorario '=== Conta Pastas Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(strPasta) iQtdFolders = folder.subfolders.count '=== Randomiza lowerbound = 1 upperbound = iQtdFolders Randomize iRand = Int( ( upperbound - lowerbound + 1 ) * Rnd + lowerbound ) for each f in folder.subfolders i=i+1 strPastaRnd = f.name if i=iRand then exit for next '=== Mostra Tela strAviso = strPasta + "\" + strPastaRnd + "\telaseg.html" set ie = WScript.CreateObject("InternetExplorer.Application") 'set the ie properties ie.ToolBar = 0 ie.StatusBar = 1 ie.Width = 850 ie.Height = 550 Do While IE.Busy WScript.Sleep 200 Loop ie.Visible = True 'navigate to a web page ie.Navigate(strAviso) END SUB
Fábio de Paula Junior- Marcado como Resposta Paulo Édison Bispo sexta-feira, 9 de dezembro de 2011 11:44
- Não Marcado como Resposta Paulo Édison Bispo sexta-feira, 9 de dezembro de 2011 12:48
- Sugerido como Resposta Fábio JrModerator sexta-feira, 9 de dezembro de 2011 16:16
- Marcado como Resposta Paulo Édison Bispo sexta-feira, 9 de dezembro de 2011 16:31
-
Fábio,
Perfeito. Funcionou. Estive olhando os links que vc passou, não consegui identificar a propriedade do scroll do IE, pois essas barras de rolagem aparecem.
Algumas dúvidas:
Qual a propriedade que eu posso inserir para que elas não apareçam, tanto na vertical como na horizontal?
Como eu centralizo esse tela?
Como eu faço para remover a referencia do servidor onde essa tela esta? Veja na figura que aparece o \\clsrv004\Scan. Gostaria de remover essa referencia ou deixar de um jeito mais elegante.
De qualquer forma, obrigado pelo tempo dedicado a tentar resolver esse problema para mim. Vou marcar como resposta final, pois resolveu o problema, apenas tenho essas duvidas agora.
Obrigado.
-
Teste cada um dos items da tabela Properties do link http://msdn.microsoft.com/en-us/library/aa752084%28v=vs.85%29.aspx
Se não tiver ali é porque não tem jeito.
Não sei se disse antes mas Conseguir o mesmo resultado que vc tinha com o KIXWIN sem usar o KIXWIN vai ser dificil.
Fábio de Paula Junior- Editado Fábio JrModerator sexta-feira, 9 de dezembro de 2011 15:34