标签: vbscript

如何在c#中为用VB编写的旧asp站点编写DAL和BLL

我想以最小的努力取得巨大成果:如何在C#中为用VB编写的旧asp站点编写数据访问层和业务层.这方面的问题是在不使用Web服务或任何类型的字符串格式(例如XML)的情况下支持两种不同语言之间的自动键入.似乎这样做的唯一方法是用C#编写整个站点(意思是,转移到asp.net或asp.net MVC,因为这种升级在时间上是相同的,以便将整个站点更改为asp c#)或写作VB中的整个DAL和BLL(我不希望这样做).

提前致谢.

c# vbscript asp-classic

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

有一些方法可以保护脚本代码吗?

假设所有基于脚本的语言(例如VBscript和Powershell)每次都在客户机器上"嵌入"整个代码,我应该假设这个代码是"开放的"吗?我的意思是,有一些方法可以保护基于脚本的代码以便阅读(并因此写入)?

vbscript powershell protection readonly

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

调用存储在字符串变量中的函数名?

我正在使用VBScript,我想知道是否有任何方法可以调用存储在字符串变量中的函数名称?

这是我的尝试?

a = "b"

sub b() 
    msgbox "c"
end sub

a()
Run Code Online (Sandbox Code Playgroud)

但它总是会导致错误

类型不匹配'a'

vbscript function

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

如何在所有现有Excel工作表之后添加工作表?

我需要在当前工作表编号3的末尾添加Excel工作表.但是,当我运行以下程序时,我会在第一个位置获得一个工作表.我该如何解决这个问题?

该程序基本上将数据从一个Excel工作簿复制到另一个工作簿,由多个工作表组成.

码:

Dim objXL,objWrkBk,objWrkSht,a,n
Set objfso=CreateObject("Scripting.FileSystemObject")
Set objXL=CreateObject("Excel.Application")
Set objWrkBk=objXL.Workbooks.Open("C:\learning\demo.xlsx")
m=objWrkBk.Worksheets.count
msgbox m
For n=1 to m
Set objWrkBk=objXL.Workbooks.Open("C:\learning\demo.xlsx")
Set objWrkSht=objWrkBk.Worksheets("Sheet"&n)
columncount = objWrkSht.usedrange.columns.count
rowcount = objWrkSht.usedrange.rows.count
For i=1 to rowcount
For j=1 to columncount
If   objWrkSht.cells(i,j).value <> "" Then
    a= objWrkSht.cells(i,j).value& "   "
End If
'Next
'Next
check=objfso.FileExists("C:\learning\demo1.xlsx")
If not check Then
    objXL.Workbooks.Add
    objXL.ActiveWorkbook.SaveAs("C:\learning\demo1.xlsx")
End If
Set objWrkBk1=objXL.Workbooks.Open("C:\learning\demo1.xlsx")
If n<=3 Then
    Set objWrkSht1=objWrkBk1.Worksheets("Sheet"&n)
End If
If n>3 Then
    objXL.Worksheets.add
    Set objWrkSht1=objWrkBk1.Worksheets("Sheet"&n)
End If

If   objWrkSht.cells(i,j).value <> "" Then …
Run Code Online (Sandbox Code Playgroud)

vbscript excel

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

在命令提示符下显示VBS变量

我想知道如何在命令提示符中显示变量值.以下是vbs代码:

 For i=0 To 10
 // I should display this variable value in command prompt
 Next
Run Code Online (Sandbox Code Playgroud)

如果我在循环内写Shell.run(a.bat),这将打开命令提示10次.
但我想在单个命令提示符中显示所有10个值.

vbscript batch-file command-prompt

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

VBS使用通配符比较字符串

我有一个vbscript函数需要字符串比较,其中一个/两个字符串可能包含一个通配符.不幸的是,strcomp("string1","string.*")=0对我来说不起作用,因为它正在进行比较并将.*正则表达式通配符视为文字而不是通配符.

如何比较两个字符串,其中一个和/或两个包含通配符?

功能:

Function webtableCheck(pageName, tableProperty, rowNum, colNum, checkValue)
   Dim x, y, oD, oC
    x = split(tableProperty,":=")
   If checkValue <> "" Then
        Set oD = description.Create
        oD("micclass").value = "WebTable"
        oD(x(0)).value = x(1)
        Set oC = pageName.childobjects(oD)
        y = oC(0).getcelldata(rowNum, colNum)
        msgbox(y)
        If y=checkValue Then
            reporter.ReportEvent micPass, "WebTable Checkpoint", "The webtable checkpoint object """ &  checkValue & """ was found."
        Elseif  **strcomp(y,checkValue,1)** = 0 Then
            reporter.ReportEvent micPass, "WebTable Checkpoint", "The webtable checkpoint object """ &  checkValue & …
Run Code Online (Sandbox Code Playgroud)

regex vbscript

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

有没有办法在VBScript中退出或中断switch语句?

例如:

Select Case (x)
    Case 1
        If ... Then
            ***Break***
        End If

        Response.Write( ... )

    Case Else
        Response.Write( ... )
End Select
Run Code Online (Sandbox Code Playgroud)

vbscript exit break switch-statement

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

如何在VBScript中解析MSI路径?

我正在寻找使用VBScript从MSI外部安装或不安装(无论哪个更快)解析MSI中文件的路径.

我找到了一个使用C#的类似查询而Christopher提供了一个解决方案,如下所示:我如何在C#中解析MSI路径?

我现在正经历着同样的痛苦,但无论如何都要使用VBScript中的WindowsInstaller对象实现这一点,而不是通过MSI来回的SQL表进行无休止的查询来实现相同的目的.虽然任何方向都会受到欢迎,因为我已经尝试过尽我所能,但成功非常有限.

vbscript windows-installer

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

JMail.SMTPMail无法正常工作

您好我是使用以下代码从ASP页面发送邮件

        Dim MyMail
        Set MyMail = Server.CreateObject("JMail.SMTPMail")
        MyMail.ServerAddress = ""
        MyMail.Sender = "senderemail"
        MyMail.AddRecipient  "mail@mail.com"    
        MyMail.Subject = "Inquiry "
        MyMail.Body = "<p>This is a response</p>"
        MyMail.ContentType = "text/html" 
        MyMail.Execute
        Set MyMail=nothing
Run Code Online (Sandbox Code Playgroud)

但它没有用.我收到了以下错误

Microsoft VBScript运行时错误"800a01ad"ActiveX组件无法创建对象

谁能帮帮我吗

vbscript asp-classic jmail

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

正则表达式:可选后跟负向前瞻

我有一些正则表达式的经验,但已经有一段时间了.我写了一个复杂的表达式,试图匹配我认为无效的产品代码中的某些模式.我运行了几千个代码来验证它,我发现了一些不按预期运行的情况.

我把它缩小到一个特定的问题,我在下面以简化的方式介绍 - 这是我不理解的概念,而不是我正在使用的实际表达.我想找到以某种方式启动的代码,在中间包含可选组件(但如果它们确实存在,它们必须完全匹配某个模式 - 我不能只是贪婪地匹配任何东西),但是不能正确结束(应该结束于"d"但不是).顺便说一下,它通过Windows脚本主机在(gag)VBScript中实现.

^a(b)?(c)?(?!d$)
Run Code Online (Sandbox Code Playgroud)

应该匹配的事情:

  • AE
  • 安倍晋三
  • 高手
  • ABCE

不应该匹配的事情:

  • 广告
  • ABD
  • ACD
  • A B C D
  • AFE
  • ABFE
  • ACFE
  • abcfe

基本上,"ae"匹配正确,但任何一个或两个选项应该匹配时,它会导致整个匹配失败.我认为这与贪婪本性有关?但一直无法弄清楚如何让它发挥作用.同样,我不能使用类似下面的内容 - 如果组件存在于"a"和"e"之间,则它们必须完全是"b"或"c".

^a(?!.*d$)
Run Code Online (Sandbox Code Playgroud)

谢谢!

regex vbscript

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