基本上我想知道如何使用VBScript为单元格设置中心对齐...
我一直在谷歌上搜索它,似乎找不到任何有帮助的东西。
这是一个示例代码,它打开一个 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)
那么,检查是否已找到元素的最佳做法是什么?
我正在尝试检索特定位置中软件的所有实例的 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 行),我只能看到 …
我正在试验文件夹重定向,在设置好之后,我很快意识到任何具有 %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 的等价物。
任何帮助表示赞赏。谢谢!
我有一个 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 的方法吗?
问候
我有以下用于文本到语音转换的 VBScript 代码:
Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")
Run Code Online (Sandbox Code Playgroud)
我想将演讲保存到音频文件中。我怎样才能做到这一点?
我想检查用户给出的路径是 vbscript 中的目录或文件。有没有正则表达式或其他方法可以做到这一点?任何帮助都会很棒。
我想创建一个 VB 脚本,它将有 3 个按钮:A 天,B 天作为 C 天,然后让每个按钮启动一个批处理文件。我知道如何制作预设按钮(是、否、中止、重试等),但不知道如何自定义。任何帮助将不胜感激!谢谢。
更新:这是 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) 我是 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
提前致谢。