小编Hea*_*ans的帖子

EXCEL 64位命令行vba代码

我有在打开 excel 书时获取命令行参数的代码(64 位;但 32 位代码也存在于 #if 子句下)。

例如,当我在命令提示符下运行以下代码行时,我希望能够获取输入字符串作为命令行参数:

启动 Excel ".\AwajiPush.xlsm" /p/"kjh%dg.pdf"

(顺便说一句,“开始”之所以在那里,是为了它可以在 .bat 批处理文件中工作)

我希望能够捕获 ".\AwajiPush.xlsm" 和 /p/"kjh%dg.pdf" 作为参数。

代码不会那样做。

为什么不获取第二个参数?

我不太了解指针的工作原理。是否有一段代码可以用来捕获至少一个包含两个参数的字符串,以便我可以解析它。如果它包含更多,那很好。我总是可以解释它,只要它是一致的。

我将存根放入程序 (MsgBox) 中,但我不确定为什么第二个存根显示为空白。

这是代码:

'Put this code in a new module called Parameters

Option Explicit

#If Win64 Then
    Private Declare PtrSafe Function GetCommandLineL Lib "kernel32" _
     Alias "GetCommandLineA" () As LongPtr

    Private Declare PtrSafe Function lstrcpyL Lib "kernel32" _
     Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As LongPtr) As Long

    Private Declare PtrSafe Function lstrlenL …
Run Code Online (Sandbox Code Playgroud)

excel 64-bit vba 32bit-64bit

7
推荐指数
1
解决办法
3735
查看次数

如何从Application.Path获取UNC路径?

我想在vba代码中获取活动工作簿的路径。 ActiveWorkbook.Path做这个

我需要它来检索如下内容:

\\MachineName\ShareFolder\ETC\ETC2
Run Code Online (Sandbox Code Playgroud)

不:

S:\ETC\ETC2
Run Code Online (Sandbox Code Playgroud)

哪里S:映射到\\MachineName\ShareFolder\。我该怎么做?

vba

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

使用T-SQL删除记录而不使用IN子句

是否有一种有效的方法从SQL Server中删除记录而不使用IN以下方案中的关键字:

-- If Documents were deleted, remove them from your ocean
DELETE FROM IndexHistory 
WHERE DocId IN (SELECT IH.Docid 
                FROM IndexHistory IH 
                LEFT JOIN IndexedLineItems I ON IH.Docid = I.DocId
                WHERE I.Docid IS NULL)
Run Code Online (Sandbox Code Playgroud)

如果您研究此场景,则您要从括号内的查询中删除所有记录.

据记载,使用"IN"是低效的.

因此,人们会认为应该有一种方法可以在没有"IN"的情况下删除它们,因为所有记录都可以在不使用"IN"的情况下识别.

因此,例如,我认为这样的事情可能是可能的,但我没有正确的语法:

DELETE FROM IndexHistory IH 
LEFT JOIN IndexedLineItems I ON IH.Docid = I.DocId
WHERE I.Docid IS NULL
Run Code Online (Sandbox Code Playgroud)

如果答案是"不,那是不可能的",请不要低估这一点.

这是一个很好的问题.

如果不可能,也许可以建议改进Microsoft的语言.

在我这样做之前,我想我会在这个板上张贴,看看我是否遗漏了一些东西....

t-sql sql-server syntax subquery

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

以不同网络用户身份运行的 VBA 代码

我是否可以以其他用户身份运行 VBA 代码,从而防止用户直接重命名\删除某些文件和文件夹,但允许程序以允许重命名\删除某些文件和文件夹的其他用户身份运行。

directory excel vba file-permissions

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