Batch file 获得;最后修改为;通过打开并使用批处理脚本中的sendkeys创建Word 2010文件

Batch file 获得;最后修改为;通过打开并使用批处理脚本中的sendkeys创建Word 2010文件,batch-file,jscript,sendkeys,Batch File,Jscript,Sendkeys,我正试图找到上次修改Word 2010文档的人,我认为只要打开文件并使用sendkeys就可以了。我从未使用过sendkeys,所以可能是对我的语法进行了一些非常简单的修复 我尝试使用此帮助主题来修复它,但运气不佳: 以下是我的问题: 只有当Word已打开,然后又发生更改时,它才起作用 打开我想要的文件的窗口。我们可以这样吗 我不必先打开word 它只能在word中键入文本。我好像不能寄特价 我尝试了“{%}”,但它给了我一个java 运行时错误。所以,我想这件事有点不对劲 Jscript在底

我正试图找到上次修改Word 2010文档的人,我认为只要打开文件并使用sendkeys就可以了。我从未使用过sendkeys,所以可能是对我的语法进行了一些非常简单的修复

我尝试使用此帮助主题来修复它,但运气不佳:

以下是我的问题:

  • 只有当Word已打开,然后又发生更改时,它才起作用 打开我想要的文件的窗口。我们可以这样吗 我不必先打开word

  • 它只能在word中键入文本。我好像不能寄特价 我尝试了“{%}”,但它给了我一个java 运行时错误。所以,我想这件事有点不对劲 Jscript在底部

  • 如果我尝试使用WScript.Sleep 5000,我也会遇到运行时错误

  • 如果尝试指定要激活的窗口WshShell.AppActivate,则会出现运行时错误

  • 我也是Jscript新手。如果有任何帮助,我将不胜感激。谢谢,CJ

    我的代码:

    @if (@CodeSection == @Batch) @then
    
    @echo off
    
    rem use the sendkeys 
    set SendKeys=CScript //nologo //E:JScript "%~F0"
    
    cd C:\users\cbaker\desktop
    start /w test.doc
    
    %SendKeys% "{%}"
    %SendKeys% "f"
    %SendKeys% "i"
    %SendKeys% "{tab 14}"
    %Sendkeys% "^c"
    
    rem Open notepad
    cd C:\windows
    start /w notpad.exe
    
    %SendKeys% "^(V)"
    
    goto :EOF
    
    @end
    
    // JScript section
    
    var WshShell = WScript.CreateObject("WScript.Shell");
    WshShell.SendKeys(WScript.Arguments(0));
    

    例如,您可以看看如何使用VBScript

    基本上,您可以将下面这样的脚本保存在名为“GetInfo.vbs”的文件中,然后运行

    CSCRIPT /NOLOGO GetInfo.vbs
    
    在命令提示下

    也可以在Windows(文件)资源管理器中双击它

    请注意,您必须更改第二行中的名称以匹配您的文档。您可能还需要了解如何在命令行上传递参数,以便可以使用要检查的文档的名称启动它

    Set objPropertyReader = CreateObject("DSOleFile.PropertyReader") 
    Set objDocument = objPropertyReader.GetDocumentProperties _ 
        ("C:\Scripts\Test.doc") 
    
    Wscript.Echo "Application name: " & objDocument.AppName 
    Wscript.Echo "Author: " & objDocument.Author 
    Wscript.Echo "Comments: " & objDocument.Comments 
    Wscript.Echo "Company: " & objDocument.Company 
    Wscript.Echo "Date created: " & objDocument.DateCreated 
    Wscript.Echo "Date last saved: " & objDocument.DateLastSaved 
    Wscript.Echo "Last edited by: " & objDocument.LastEditedBy 
    
    下面是另一种方法。。。如果您仔细查看代码,您将看到作者已被提取。你可能需要四处寻找其他领域,但谷歌搜索一下就可以解决这个问题

    On Error Resume Next
    
    Set objWord = CreateObject("Word.Application")
    Wscript.Echo "Active Printer:", objWord.ActivePrinter
    
    For Each objAddIn in objWord.AddIns
        Wscript.Echo "AddIn: ", objAddIn
    Next
    
    Wscript.Echo "Application:", objWord.Application
    Wscript.Echo "Assistant:", objWord.Assistant
    
    For Each objCaption in objWord.AutoCaptions
        Wscript.Echo "AutoCaptions:", objCaption
    Next
    Wscript.Echo "Automation Security:", objWord.AutomationSecurity
    Wscript.Echo "Background Printing Status:", objWord.BackgroundPrintingStatus
    Wscript.Echo "Background Saving Status:", objWord.BackgroundSavingStatus
    Wscript.Echo "Browse Extra File Type:", objWord.BrowseExtraFileTypes
    Wscript.Echo "Build:", objWord.Build
    Wscript.Echo "Caps Lock:", objWord.CapsLock
    Wscript.Echo "Caption:", objWord.Caption
    
    For Each objLabel in objWord.CaptionLabels
        Wscript.Echo "Caption Label:", objLabel
    Next
    
    Wscript.Echo "Check Language:", objWord.CheckLanguage
    
    For Each objAddIn in objWord.COMAddIns
        Wscript.Echo "COM AddIn:", objAddIn
    Next
    
    Wscript.Echo "Creator:", objWord.Creator
    
    For Each objDictionary in objWord.CustomDictionaries
        Wscript.Echo "Custom Dictionary:", objDictionary
    Next
    
    Wscript.Echo "Customization Context:", objWord.CustomizationContext
    Wscript.Echo "Default Legal Blackline:", objWord.DefaultLegalBlackline
    Wscript.Echo "Default Save Format:", objWord.DefaultSaveFormat
    Wscript.Echo "Default Table Separator:", objWord.DefaultTableSeparator
    
    For Each objDialog in objWord.Dialogs
        Wscript.Echo "Dialog:", objDialog
    Next
    
    Wscript.Echo "Display Alerts:", objWord.DisplayAlerts
    Wscript.Echo "Display Recent Files:", objWord.DisplayRecentFiles
    Wscript.Echo "Display Screen Tips:", objWord.DisplayScreenTips
    Wscript.Echo "Display Scroll Bars:", objWord.DisplayScrollBars
    
    For Each objDocument in objWord.Documents
        Wscript.Echo "Document:", objDocument
    Next
    
    Wscript.Echo "Email Template:", objWord.EmailTemplate
    Wscript.Echo "Enable Cancel Key:", objWord.EnableCancelKey
    Wscript.Echo "Feature Install:", objWord.FeatureInstall
    
    For Each objConverter in objWord.FileConverters
        Wscript.Echo "File Converter:", objConverter
    Next
    
    Wscript.Echo "Focus In MailHeader:", objWord.FocusInMailHeader
    
    For Each objFont in objWord.FontNames
        Wscript.Echo "Font Name:", objFont
    Next
    
    Wscript.Echo "Height", objWord.Height
    
    For Each objBinding in objWord.KeyBindings
        Wscript.Echo "Key Binding:", objBinding
    Next
    
    For Each objFont in objWord.LandscapeFontNames
        Wscript.Echo "Landscape Font Name:", objFont
    Next
    
    Wscript.Echo "Language", objWord.Language
    
    For Each objLanguage in objWord.Languages
        Wscript.Echo "Language:", objLanguage
    Next
    
    Wscript.Echo "Left", objWord.Left
    Wscript.Echo "Mail System:", objWord.MailSystem
    Wscript.Echo "MAPI Available:", objWord.MAPIAvailable
    Wscript.Echo "Math Coprocessor Available:", objWord.MathCoprocessorAvailable
    Wscript.Echo "Mouse Available:", objWord.MouseAvailable
    Wscript.Echo "Name:", objWord.Name
    Wscript.Echo "Normal Template:", objWord.NormalTemplate
    Wscript.Echo "Num Lock:", objWord.NumLock
    Wscript.Echo "Parent:", objWord.Parent
    Wscript.Echo "Path:", objWord.Path
    Wscript.Echo "Path Separator:", objWord.PathSeparator
    Wscript.Echo "Print Preview:", objWord.PrintPreview
    
    For Each objFile in objWord.RecentFiles
        Wscript.Echo "Recent File:", objFile
    Next
    
    Wscript.Echo "Screen Updating:", objWord.ScreenUpdating
    Wscript.Echo "Show Visual Basic Editor:", objWord.ShowVisualBasicEditor
    Wscript.Echo "Special Mode:", objWord.SpecialMode
    Wscript.Echo "Startup Path:", objWord.StartupPath
    
    For Each objTask in objWord.Tasks
        Wscript.Echo "Task:", objTask
    Next
    
    For Each objTemplate in objWord.Templates
        Wscript.Echo "Template:", objTemplate
    Next
    
    Wscript.Echo "Top:", objWord.Top
    Wscript.Echo "Usable Height:", objWord.UsableHeight
    Wscript.Echo "Usable Width:", objWord.UsableWidth
    Wscript.Echo "User Address:", objWord.UserAddress
    Wscript.Echo "User Control:", objWord.UserControl
    Wscript.Echo "User Initials:", objWord.UserInitials
    Wscript.Echo "User Name:", objWord.UserName
    Wscript.Echo "Version:", objWord.Version
    Wscript.Echo "Visible:", objWord.Visible
    Wscript.Echo "Width:", objWord.Width
    
    For Each objWindow in objWord.Windows
        Wscript.Echo "Window:", objWindow
    Next
    
    Wscript.Echo "Window State:", objWord.WindowState
    objWord.Quit
    

    非常感谢你。我试试看。