标签: vbscript

VBScript Excel 格式化 .xlsx 文件

基本上我想知道如何使用VBScript为单元格设置中心对齐...

我一直在谷歌上搜索它,似乎找不到任何有帮助的东西。

vbscript

3
推荐指数
1
解决办法
2万
查看次数

document.getElementByID - 检查是否已找到元素

这是一个示例代码,它打开一个 Internet Explorer 窗口,导航到 google,并通过其唯一 id 获取页面上的某些元素:

set ie = CreateObject("InternetExplorer.Application")

ie.navigate("www.google.com")
ie.visible = true

while ie.readystate <> 4
    wscript.sleep 100
WEnd

set some_object = ie.document.getelementbyid("xjsc")

MsgBox some_object.tagname, 0
Run Code Online (Sandbox Code Playgroud)

这个示例给我带来了一个DIV弹出窗口,我完全满意。

但是在下一步中,我想检查页面中是否存在某个 id。不幸的是,我不能只是,就像,

set some_object = ie.document.getelementbyid("some_non_existant_id")
if some_object.tagname = "" then
...
Run Code Online (Sandbox Code Playgroud)

因为它给了我以下错误:

ie.vbs(12, 1) Microsoft VBScript runtime error: Object required: 'some_object'
Run Code Online (Sandbox Code Playgroud)

那么,检查是否已找到元素的最佳做法是什么?

html vbscript scripting dom

3
推荐指数
1
解决办法
2万
查看次数

使用多个用户按路径而不是名称检索进程的 PID

我正在尝试检索特定位置中软件的所有实例的 PID。这是一个便携式应用程序,因此整个系统中可能有它的多个副本,但我只对一个特定位置感兴趣。此外,它可以由不同的用户、管理员和标准用户同时启动。

我复制了这个 VBS 代码(来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa394372%28v=vs.85%29.aspx

strComputer = "."

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'foobar.exe'")

For Each objProcess in colProcesses
    If objProcess.GetOwner(User, Domain) = 0 Then
        WScript.Echo "Process " & objProcess.Name & " belongs to " & Domain & "\" & User
    Else
        WScript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
    End If
Next
Run Code Online (Sandbox Code Playgroud)

我现在需要区分应用程序的完整路径。如果我使用objProcess.ExecutablePath(第 5 行),我只能看到 …

vbscript pid admin path

3
推荐指数
1
解决办法
2213
查看次数

如何启用 %UserProfile% 以使用文件夹重定向编写脚本?

我正在试验文件夹重定向,在设置好之后,我很快意识到任何具有 %UserProfile% 等环境变量的 VBS 脚本都变得不可用。

例如:

 C:\MD %UserProfile%\Desktop\Not_Created_On_Real_Desktop\
Run Code Online (Sandbox Code Playgroud)

'Place to deposit excel output file
Depo=oShell.ExpandEnvironmentStrings("%userprofile%" & "\Desktop\Folder_This_User_Needs_Easy_Access_To\")
if not objfso.folderexists(Depo) then
objFSO.CreateFolder(Depo)
end if
Run Code Online (Sandbox Code Playgroud)

这些在使用文件夹重定向时不再起作用。我希望有一个解决办法,因为我现有的很多脚本都依赖于这个变量保持有效。我发现 .NET 能够通过以下方式拉出重定向的文件夹:

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
Run Code Online (Sandbox Code Playgroud)

不过,我没有太多运气找到 VBS 的等价物。

任何帮助表示赞赏。谢谢!

vbscript

3
推荐指数
1
解决办法
1495
查看次数

将 vbs 脚本的快捷方式固定到任务栏(W2008 服务器)

我有一个 VBS 可以执行一些操作然后调用一个程序:“C:\Program Files (x86)\myprogram.exe”

我已经创建了 vbs 文件的快捷方式并放置了 myprogram.exe 的图标 用户认为他们启动了 myprogram.exe 但他们启动了脚本。(即一些动作,然后启动程序)。

现在,用户希望将快捷方式固定到任务栏。当我们将快捷方式固定到任务栏时,它不会启动脚本,而是启动“Windows 脚本主机设置”。

它看起来像这样:http : //www.neowin.net/forum/topic/1107337-how-can-i-pin-a-vbs-file-to-the-windows-8-taskbar/

有人可以在不使用启动脚本的 .bat 文件的情况下找到解决方案。谢谢。

我找到了这个解决方案,在快捷方式中更改目标:"C:\Windows\System32\cscript.exe "C:\Program Files (x86)\myscript.vbs" 问题是 cscript 在 2ms 期间打开一个 dosbox。

你知道避免 dosbox 的方法吗?

问候

windows vbscript

3
推荐指数
1
解决办法
5508
查看次数

如何在 VBScript 中将 SAPI 文本保存为语音文件?

我有以下用于文本到语音转换的 VBScript 代码:

Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")
Run Code Online (Sandbox Code Playgroud)

我想将演讲保存到音频文件中。我怎样才能做到这一点?

vbscript sapi text-to-speech

3
推荐指数
1
解决办法
7019
查看次数

如何检查给定的路径是vbscript中的目录或文件?

我想检查用户给出的路径是 vbscript 中的目录或文件。有没有正则表达式或其他方法可以做到这一点?任何帮助都会很棒。

regex vbscript

3
推荐指数
1
解决办法
3524
查看次数

VBS 如何制作自定义选项按钮?

我想创建一个 VB 脚本,它将有 3 个按钮:A 天,B 天作为 C 天,然后让每个按钮启动一个批处理文件。我知道如何制作预设按钮(是、否、中止、重试等),但不知道如何自定义。任何帮助将不胜感激!谢谢。

windows vbscript batch-file

3
推荐指数
1
解决办法
1万
查看次数

从一个函数返回多个值

更新:这是 WIP 功能。

<%
    Function ReturnTwoValues(Data)

        If Data= Now() Then
            Var1= "ABC"
            Var2= "000"
        Else
            Var1= "CDE"
            Var2= "111"
        End If

        ReturnTwoValues = Array(Var1, Var2)

    End Function

    a = ReturnTwoValues(Data)
    Value1= a(0)
    Value2= a(1)
%>
Run Code Online (Sandbox Code Playgroud)

我现在的疑问是:如何调用该函数?如果我这样做Response.Write Value1并且Response.Write Value2我可以获得该值,但我需要先传递参数。类似的东西ReturnTwoValues(Now()),但如果我这样做,我怎么能得到第一个和第二个值?


原始问题:

我有这个伪函数,希望能够从Variable1and返回值Variable2

<%
    Today= Now()

    Function TellsMeTheTime(Date_Field)
        If IsNull(Date_Field) = False Or Date_Field <> "" Then
            DaysAmount= DateDiff("d", Date_Field, Today)
            Select Case True
                Case DaysAmount = 0
                    Variable1 = "warning"
                    Variable2 …
Run Code Online (Sandbox Code Playgroud)

vbscript function asp-classic

3
推荐指数
1
解决办法
4075
查看次数

VBA 查找字符串的字体颜色

我是 VBA 新手。代码。

Dim compare = {"test1","test2","test3",.....etc}

i=0

For j=1 to Ubound(compare)    
  j=1

  If compare.Characters(j,Len(compare(i))).Font.Color <> vbRed Then    
    ' Some Code
  End If

  i=i+1    
Next
Run Code Online (Sandbox Code Playgroud)

但是在执行过程中,我收到运行时错误 424“Object Required. Please help me to complete this task

提前致谢。

vbscript excel vba

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

vbscript ×10

windows ×2

admin ×1

asp-classic ×1

batch-file ×1

dom ×1

excel ×1

function ×1

html ×1

path ×1

pid ×1

regex ×1

sapi ×1

scripting ×1

text-to-speech ×1

vba ×1