标签: vbscript

使用vbs打开Excel工作簿,运行宏并保存工作簿

  • 我有一个宏,我需要每5分钟运行一次.我有一个vbs调度宏的文件.
  • 宏正在检查某个文件夹中的新文件,将其信息写入表中,然后将文件移动到存档中.
  • 该表与宏在同一个excel文件中!

它正在运行宏,但最后,它问我是否不保存文件.

我需要它来自动保存宏对文件所做的更改!

这是我目前的vbs代码:

Option Explicit

Dim xlApp, xlBook

Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("W:\Excel Macro\EIM File Maneger\EIM_file_check.xlsm", 0, True)

xlApp.Run "GetFiles"

xlBook.Close true
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

WScript.Echo "Finished."
WScript.Quit
Run Code Online (Sandbox Code Playgroud)

vbscript excel vba

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

Windows 脚本主机 - (文件路径)中没有文件扩展名

我正在尝试使用 Windows 任务调度程序运行 Windows 脚本。我收到以下错误。

在此处输入图片说明

这是完整的文件路径

C:\用户\桌面\服务校准详细信息\RunExcel\RunExcel.vbs

上面的屏幕截图没有显示完整的文件路径

这是什么意思?

我如何才能成功执行此操作?

macros vbscript wsh scheduled-tasks

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

使用VB脚本读取excel中特定列的所有行

我有一个包含我们所有客户信息的电子表格。所以我们有客户 1、2、3、4、5,每个客户都有一个 EMAIL_ADDRESS 列,其中包含一个或多个电子邮件地址。我需要读取所有这些地址并以某种形式或方式输出它们。我们有AJ标记的列Email_Addresses,我需要为每个客户或行提取所有电子邮件。

我找到了这个代码

Dim xlApp 
Dim xlBook 
Dim xlSheet 
Set xlApp = CreateObject("Excel.Application") 
xlApp.visible = true 
Set xlBook = xlApp.Workbooks.open("D:\Macro\BirthDay.xls") 
Set xlSheet = xlBook.Worksheets("Sheet1") 
MsgBox  xlSheet.Cells(1, A1).Value
Run Code Online (Sandbox Code Playgroud)

但是我的问题是我如何获得这个或一些代码来读取 Email_Address Column 中的所有行AJ

vbscript

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

编译经典的ASP文件

我继承了一个用 VBScript 编写的经典 ASP 应用程序。我也没有经验。我使用 Visual Studio 2013 作为我的开发环境。

请您让我知道是否可以预编译 ASP 文件?我只想能够查看我的编译错误并确保应用程序在运行之前编译。

运行应用程序时,我遇到了运行时错误(HTTP 状态代码 500),我不知道这是由于编译错误还是其他原因。

谢谢,

vbscript asp-classic visual-studio

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

一个类包含一组对象。在终止包含类时,我是否需要将它们中的每一个都设置为空?

我正在使用类似下面的代码。通过循环数据库结果并从每一行创建一个视图模型BasketItemViewModel,在Basket类的范围内创建了一个数组。

当我放弃Basket课程并将其设置为空时,我是否需要遍历数组BasketItemViewModel并将其中的每一个设置为空?

Class Basket

    public GuidId
    public BasketItemViewModels
    public TotalItems
    public TotalCost

    Public Property Get TotalCostFormatted()
        TotalCostFormatted = FormatCurrency(TotalCost,0)
    End Property



    public Default function Init(p_GuidId, p_TotalItems, p_TotalCost)
        GuidId = p_GuidId
        BasketItemViewModels = GetBasketItemViewModels()
        TotalItems = p_TotalItems
        TotalCost = p_TotalCost
        set Init = Me
    end function 

    public function GetBasketItemViewModels()
        dim vmArray()

        for each row in dbResults
            // ...get some values...
            set vmArray(i) = (new BasketItemViewModel) (price, quantity, productId)
        next           

        GetBasketItemViewModels = vmArray
    end …
Run Code Online (Sandbox Code Playgroud)

arrays vbscript nothing asp-classic

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

vbscript 在同一个资源管理器窗口中打开文件夹

我根本不擅长 VBScript,但多亏了谷歌,我才能够将能够在 explorer.exe 中打开文件路径的脚本放在一起

我想在同一窗口中而不是在新窗口中打开特定路径。VBScript 能做到吗?

这是我的代码:

Dim SH, FolderToOpen 
Set SH = WScript.CreateObject("WScript.Shell") 
FolderToOpen = "C:\path\to\my\folder" 
SH.Run FolderToOpen 
Set SH = Nothing 
Run Code Online (Sandbox Code Playgroud)

感谢您的意见。

vbscript wsh

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

如何更改 MsgBox 中的字体

你如何改变a中的字体MsgBox

X = MsgBox("I want this to be bold times new roman.")
Run Code Online (Sandbox Code Playgroud)

vbscript

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

为什么 VBScript 的 bitwise 并且在一种情况下失败?

我正在使用 VBScript 来解析一些 Windows 安装程序中的返回码。我想确认我是否正确地执行了按位运算,所以我记下了一些Echo语句,发现其中一个没有产生我预期的结果:

WScript.Echo (&H01010101)                ' prints 16843009 (0x01010101). Correct!
WScript.Echo (&H01010101 And &Hff000000) ' prints 16777216 (0x01000000). Correct!
WScript.Echo (&H01010101 And &H00ff0000) ' prints 65536    (0x00010000). Correct!
WScript.Echo (&H01010101 And &H0000ff00) ' prints 16843008 (0x01010100). What's happening here?
WScript.Echo (&H01010101 And &H000000ff) ' prints 1        (0x00000001). Correct!
Run Code Online (Sandbox Code Playgroud)

第四个似乎只屏蔽了底部的两个字节。好的,当然,我想我可以看到在它被Anded之前它可能被转换为可以容纳它的最小 int 的位置,因此掩码比被掩码的短或类似的东西,但是为什么最后的情况有效?

如果我在最高字节中放入一些东西,它会起作用:

WScript.Echo (&H01010101 And &Hf000ff00) ' prints 256      (0x01010100).
Run Code Online (Sandbox Code Playgroud)

还有一些其他情况:

WScript.Echo (&H01010101 And &H0000f0ff) ' prints 16842753 (0x01010001).
WScript.Echo (&H01010101 And &Hf00000ff) ' …
Run Code Online (Sandbox Code Playgroud)

vbscript bit-manipulation bitwise-operators

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

使用 VBScript 捕获 HTA 窗口关闭事件

我一直在尝试使用 hta 作为熟悉 HTML 的一种方式。我添加了代码以在 hta 窗口打开时最小化所有窗口,但我无法弄清楚如何在 hta 关闭时恢复所有窗口。有什么建议?(这里的大部分代码来自我在 hta 上阅读的页面)

<html>
<head>
<title>processes</title>
<HTA:APPLICATION
  APPLICATIONNAME="processes"
  ID="processes"
  VERSION="1.0"/>
</head>

<script language="VBScript">

Sub Window_OnLoad
    Set objShell = CreateObject("shell.application")
    objShell.ToggleDesktop
    Dim width,height
    width=600
    height=800
    Set oShell = CreateObject("wscript.shell")
    oShell.SendKeys "% r"
    self.ResizeTo width,height
    self.MoveTo (screen.AvailWidth-width)/2,(screen.AvailHeight-height)/2

End Sub


    Sub GetProcesses

        strComputer = "."

        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")

        For Each objProcess in colProcesses
            strHTML = strHTML & objProcess.Name & " -- " & …
Run Code Online (Sandbox Code Playgroud)

html vbscript hta

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

如何使用 CMD 或 VBS 轻轻关闭 Chrome?

我在轻轻关闭 Chrome 以自动清理缓存时遇到了一个小问题。

我有一个网站无法正确刷新,但如果我清理缓存,它会刷新。

现在我有一个带有以下代码的 .bat 文件:

taskkill /F /IM chrome.exe /T > nul
del /q "C:\Users\Francisco\AppData\Local\Google\Chrome\User Data\Default\Cache\*"
FOR /D %%p IN ("C:\Users\Francisco\AppData\Local\Google\Chrome\User Data\Default\Cache\*.*") DO rmdir "%%p" /s /q
timeout 8
start chrome --restore-last-session --start-fullscreen
Run Code Online (Sandbox Code Playgroud)

现在,我知道这会taskkill /F强制关闭进程并且可以正常工作,但是一旦 Chrome 打开,它就会显示一条消息,表明 Chrome 未正确关闭,并询问我是否要恢复上次会话。

如果我删除 /f 选项,Chrome 不会关闭:

错误:PID 为 8580 的进程(PID 辅助进程 8896)无法完成。
原因:这个进程只能强行终止(用/F选项)。

所以......我需要两个选项之一;

  1. 有没有办法像使用 CMD 或 VBS 按下 Alt+F4 一样轻轻关闭 Chrome?2。有没有办法隐藏 Chrome 恢复上次会话消息?

我更喜欢第一个选项,因为它更干净。

vbscript cmd

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