Tag: vba

如何在Excel中激活特定的工作表

我只需要激活某个工作表。 我有一个stringvariables保持工作表的名称。

Excelmacros:如何获得“yyyy-MM-dd hh:mm:ss”格式的时间戳?

我在Excelmacros中使用DateTime.Now来显示当前的时间戳。 它以“dd-MM-yyyy hh:mm:ss”格式显示时间戳。 相反,如何获得“yyyy-MM-dd hh:mm:ss”格式的时间戳?

Solidworks C#Addin – 将string发送到macros

我目前正在研究一个新的Solidworks任务窗格,主要实现一些我用更方便的格式编写的“旧”macros。 其中一些需要通过文本框的用户input,我想包括在任务窗格中。 问题是,我找不到一个写一个临时文件的方法,或者将这些string导入到我的macros(我宁愿不要花时间重写) 有没有其他的方式发送这些string到我的macros? Addin是用C#编写的,目前我正在使用Solidworks“RunMacro2”方法。 谢谢! 编辑:下面添加一些代码片段。 所讨论的主macros,是为了在整个程序集中传播自定义属性文件。 namespace Efficiency_Interface { [ComVisible(true)] [ProgId(ProjMan_Tab_PROGID)] public partial class Project_Management_Tab : UserControl { SwAddin SolidRun = new SwAddin(); public const string ProjMan_Tab_PROGID = "Proj Management"; public const string scratchFile = "C:\\keyStoneAddinScratch.txt"; StreamWriter writeText = new StreamWriter(scratchFile); public Project_Management_Tab() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { […]

从命令行或batch file运行Excelmacros的方法?

我有一个Excel VBAmacros,我需要从batch file访问文件时运行,但不是每次打开它(因此不使用打开的文件事件)。 有没有办法从命令行或batch file运行macros? 我不熟悉这样的命令。 假设一个Windows NT环境。

如何find一个数组是否包含一个string

可能重复: 如何在MS Access VBA数组中searchstring 我目前正在一个Excelmacros,我无法find一种方法, if array.contains(mystring) 我写了下面的内容,它给了我一个消息“Invaild Qualifier”,并在If之后突出显示Mainfram Dim Mainfram(4) As String Mainfram(0) = "apple" Mainfram(1) = "pear" Mainfram(2) = "orange" Mainfram(3) = "fruit" For Each cel In Selection If Mainfram.Contains(cel.Text) Then Row(cel.Row).Style = "Accent1" End If Next cel select是一个列 任何人帮助? 嗨,太平绅士我试过你的build议,并说对象需要。 并突出如果IsInArray(cell.Text,Mainfram)然后 Heres我的完整代码 Sub changeRowColor() Columns("B:B").Select Dim cel As Excel.Range Dim Mainfram(4) As […]

将单元格(1,1)转换为“A1”,反之亦然

我正在Excel 2007中工作表生成器上工作。我有一个特定的布局,我必须遵循,我经常不得不基于input格式化单元格。 由于生成器是dynamic的,我必须计算各种范围,合并单元格等。 我怎样才能转换这样的值? Cells(1,1)到A1 ,反之亦然

标准VBAfunction“找不到项目或库”

所以我不得不在我的电脑上运行别人的excel应用程序,并且在date,格式,hex,中等等标准函数上得到“无法find项目或库”。 一些研究表明,如果我用“VBA”作为这些函数的前缀。 如“VBA.Date”那么它会正常工作。 网页build议它与我的系统上的项目引用有关,而开发人员的系统上它们必须正确。 我将会从别人那里处理一段时间,并将这些应用程序分发给其他许多人,所以我需要了解我需要修复的excel设置有什么问题,或者需要修改哪些内容xls文件,以便它可以在各种系统上运行。 我想避免让每个人都使用“VBA”。 作为一个明确的参考,但如果没有理想的解决scheme,我想这就是我们必须要做的。 我如何制作“VBA”? 隐含在我的项目属性/参考/等? -亚当

Excel range.Rows属性真的有什么用?

好的,我正在为传统的Excel-VBA应用程序完成一个附加项目,并且我再次运行了神秘的range.Rows(?)和worksheet.Rows属性的难题。 有谁知道这些属性真的是什么,他们应该提供给我什么? (注意:所有这些可能也适用于相应的* .Columns属性)。 我真的希望能够使用它是为了返回一系列的行,如下所示: SET rng = wks.Rows(iStartRow, iEndRow) 但我从来没有能够做到这一点,即使智能感知显示了两个参数。 相反,我必须使用其他两种或另外三种技术中的一种。 帮助是非常无用的(对于Office VBA通​​常是这样),并且search“行”并不是很有用,无论我添加了多less其他术语。 我已经能够使用它的唯一的事情是1)作为范围( rng.Rows(i) )返回一行,并且2)返回范围( rng.Rows.Count )中的行的计数。 是吗? 还有没有其他的东西是好的? 澄清:我知道它返回一个范围,并有其他方法来获得一个行的范围。 我所要求的是我们从.Rows()中得到的,我们还没有从.Cells()和.Range()中得到的。 我知道的两件事情是1)返回单行的范围和2)计算范围内的行数的一种更简单的方法。 还有别的事吗?

确定variables的完整types

通过完整的variablestypes ,我的意思是你在即时窗口中获得的那种信息: 我想用VBAdynamic地确定types信息。 函数TypeName()不会做我想做的事情,因为它返回变体的子types ,并且不区分例如保存范围的variablesvariables,保存范围的对象variables和保存范围的范围variables。 作为一个初步的步骤,我写了一个函数来检测一个variables是否传递给它。 它通过利用引用传递语义来工作。 这个代码用它的参数来做事情,只能用一个变体来完成,并且如果传入的variables实际上不是一个变体,会触发一个错误: Function IsVariant(var As Variant) As Boolean Dim temp As Variant Dim isVar As Boolean If IsObject(var) Then Set temp = var Else temp = var End If On Error Resume Next Set var = New Collection var = "test" If Err.Number > 0 Then isVar = False […]

VB6和VBA的替代IDE

我已经被Visual Studio 2008和Eclipse宠坏了,必须在VB6应用上做一些维护工作。 有谁知道VB6的替代/更新的IDE? 重写不是一个选项我只是修复了一些错误,这是一个很大的代码库。