好的,所以我必须在我的新工作中学习VBA,因为我们使用Excel或多或少的东西.Excel中的内置VBA编辑器让我绝对疯狂 - 感觉它不是以有效的方式编写代码.
近年来,我一直在使用Sublime Text进行编码.在Sublime中有一个用于编写VBA vbScript的插件,但我不明白如何将我的Sublime编写的代码链接到我的Excel文档.假设我尝试运行以下文件
Sub test()
Debug.Print "Hello, World"
End Sub
Run Code Online (Sandbox Code Playgroud)
从Sublime Text,我从控制台得到以下内容[Finished in 0.1s],但没有打印输出.
我的问题是:有没有人有解决方案如何从Sublime Text或Notepad ++在Excel中运行VBA?我仍然是VBA中的大量菜鸟,因此能够在测试代码旁边真正看到Excel工作簿上的效果会很好.
我正在尝试自动化Excel VBA正在完成所有工作的一些报告生成.我的雇主有一套标准化的模板,所有文件都应该从中生成.我需要从Excel VBA填充其中一个模板.Word模板广泛使用VBA.
这是(部分)我的Excel VBA代码:
Sub GenerateReport() ' (Tables, InputDataObj)
' code generating the WordApp object (works!)
WordApp.Documents.Add Template:="Brev.dot"
' Getting user information from Utilities.Userinfo macro in Document
Call WordApp.Run("Autoexec") ' generating a public variable
Call WordApp.Run("Utilities.UserInfo")
' more code
End sub
Run Code Online (Sandbox Code Playgroud)
在Word VBA Autoexec模块中,user定义并声明了一个名为的公共变量.模块中的Userinfo子Utilities组件填充user.这两个例程都是在没有任何VBA投诉的情况下运行的.我希望能够访问user我的Excel VBA中的变量,但我收到以下错误
编译错误:尚未在此上下文中创建的变量.
如何在Excel VBA中访问Word VBA变量?我认为它或多或少是一样的?
编辑:user变量是Type仅使用String属性定义的用户.复制填充user变量的Word VBA函数绝对可行,只需要比我更多的工作......
我正在尝试在我用Sublime Text编写的Python脚本中使用Gnuplot.每当我构建时,我都会收到错误消息
Traceback (most recent call last):
File "..." line 4, in <module>
import Gnuplot
ImportError: No module named Gnuplot
Run Code Online (Sandbox Code Playgroud)
如果我直接在终端中执行完全相同的代码行,我可以导入和使用Gnuplot.
导入错误似乎很常见,只是与其他模块一样.通常修复与PYTHONPATH有关.但是,Gnuplot在我的电脑上
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
因此应该找到.
谁能解决这个问题呢?
我有一个 Word VBA 函数,我正在尝试在 Excel VBA 中构建它(这个选择背后的原因来自这个问题),但我遇到了以下问题:
Word VBA 函数使用System.PrivateProfileString广泛,Compile Error: invalid qualifier应用于 Excel VBA 时会引发错误。Excel 中的等效语句是什么?或者,我该如何解决这个问题?
使用示例:
strHomeSharePath = System.PrivateProfileString("", "HKEY_CURRENT_USER\Volatile Environment", "HOMESHARE")
Run Code Online (Sandbox Code Playgroud) 我正在寻找一些有关编写函数的帮助,以便在VBA中返回一行多维数组.Cpearson在VBA中有一篇关于数组函数的非常广泛的文章,其中包含一系列具有许多优秀特性的函数库.在StackOverflow上的许多VBA数组问题中都引用了这篇文章.但是,我注意到cpearson因此使用了布尔函数.
示例:GetRow下面给出的函数是布尔函数,但我认为函数应该从给定的行号返回一维数组,类似于
Function RtrnArrayRow(SrcArr() As Variant, RowNumber As Integer) As Variant
Run Code Online (Sandbox Code Playgroud)
哪里RtrnArrayRow是一维数组.
问题:应用数组函数,布尔值或非布尔值以及如何最好地正确使用下面的布尔函数的最佳做法是什么?
所有的帮助都是适用的!
Function GetRow(Arr As Variant, ResultArr As Variant, RowNumber As Long) As Boolean
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GetRow
' This populates ResultArr with a one-dimensional array that is the
' specified row of Arr. The existing contents of ResultArr are
' destroyed. ResultArr must be a dynamic array.
' Returns True or False indicating success.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' …Run Code Online (Sandbox Code Playgroud) excel ×4
vba ×4
excel-vba ×3
ms-word ×2
arrays ×1
gnuplot ×1
importerror ×1
python ×1
sublimetext ×1
sublimetext2 ×1
word-vba ×1