Enregistrement instantané à l'aide de vbscript
Je suis nouveau sur le vbscript. Je veux enregistrer un instantané pris à l'aide de vbscript d'une fenêtre d'internet explorer ouvert par vbscript.
Code pour charger la page
Dim IE, stateString
Set IE = WScript.CreateObject("InternetExplorer.Application")
ie.toolbar = 1
ie.statusbar = 1
ie.width = 999
ie.height = 500
ie.left = 20
ie.theatermode = false
ie.theatermode = true
ie.theatermode = false
ie.top = 50
ie.navigate("file:///C:\Users\Vinit_Tiwari\Documents\vbscripts\someform.html")
'stateString = cstr(ie.readystate)
waitforload(ie)
ie.visible = 1
Set wshShell = CreateObject("Wscript.Shell")
wshShell.AppActivate "Some Form"
wshShell.SendKeys "% x"
De Code pour prendre un instantané
Dim oWordBasic
set oWordBasic = CreateObject("Word.Basic")
oWordBasic.sendkeys "{prtsc}"
oWordBasic.AppClose "Microsoft Word"
Set oWordBasic = Nothing
Wscript.Sleep 2000
Économiser de l'instantané
dim paint
set paint = wshShell.exec("mspaint")
do while paint.status = 0:loop
wshShell.appactivate("untitled-Paint")'this returns false
Wscript.sleep 500
WshShell.SendKeys "^v"
wscript.sleep 500
wshshell.sendkeys "^s"
wscript.sleep 500
wshshell.sendkeys "d:\test.png"
wscript.sleep 500
wshell.sendkeys "{Enter}"
Set wshshell = Nothing
Fait précédemment ouvert la fenêtre de ie est d'avoir l'accent et les touches sont envoyées à l'ie à la place de la peinture. si il ya une fonction qui effectue la face de travail de AppActivate
.
OriginalL'auteur codeomnitrix | 2012-04-09
Vous devez vous connecter pour publier un commentaire.
Cela ne fonctionnera pas. Microsoft Word est mis en évidence tout l'Impression de l'Écran le bouton est pressé. Vous pouvez facilement éliminer ce problème en utilisant Microsoft Word. Il n'est pas nécessaire. La fonction d'Impression d'Écran est un système de raccourci, et n'a rien à voir avec Microsoft Word. Vous devriez être en utilisant la touche Alt+impr écran qui capture une capture d'écran de la fenêtre active dans le presse-papiers.
Deuxième, si la Peinture n'est pas une priorité au lieu de IE, c'est parce que vous avez le titre de la fenêtre de mal. Vous faites partie correctement. AppActivate renvoie false si elle ne peut pas trouver une fenêtre avec le titre spécifié. Pour être honnête, la Peinture doit alread focus pour commencer, mais il est de bonne pratique pour vous assurer de la fenêtre est activée en premier.
Aussi, c'est un très vieux système? Pourquoi êtes-vous à l'aide de la Parole.De base de l'automatisation de l'objet quand même par curiosité?
AppActivate
afin que l'application puisse être sur de premier plan...C'est différent pour chaque version de Windows. Vous aurez besoin pour ouvrir MS Paint et de regarder la barre de titre.
En fait, je suis avec windows 7 et la barre de titre montre 'sans titre-Peinture" pour mspaint et c'est ce que je suis en train d'essayer.
Il y a généralement un espace entre les mots... "sans titre - Peinture"
Eu le même problème, au sujet de la Parole.De base, j'ai eu à utiliser ce aussi parce que la Printscreen ne peut pas être utilisé comme un sendkey en Vbscript, mais il peut dans Word.De base, c'est la seule raison pour laquelle je l'utilise encore
OriginalL'auteur Nilpo