从上一个问题我知道如何让用户点击"浏览器"按钮并导航到他们可能想要打开的特定文件.
码:
Private Sub CommandButton2_Click()
Dim vaFiles As Variant
vaFiles = Application.GetOpenFilename()
ActiveSheet.Range("B9") = vaFiles
End Sub
Run Code Online (Sandbox Code Playgroud)
我想创建第二个浏览器按钮,让用户导航到一个文件夹.该文件夹将保存.pdf
我的程序创建的文件.这是问题所在:GetOpenFilename
要求用户单击文件.如果文件夹中没有文件,那么用户无法做任何事情.
我希望这很清楚......
谢谢
我试图找出如何声明一个二维数组,但到目前为止我找到的所有例子都是用set整数声明的.我正在尝试创建一个程序,它将利用两个2维数组,然后对这些数组执行简单的操作(例如查找差异或百分比).数组由Excel工作表中的数字填充(一组数字在Sheet1上,另一组在Sheet2上,两组具有相同的行数和列数).
由于我不知道有多少行或列,我将使用变量.
Dim s1excel As Worksheet
Dim s2excel As Worksheet
Dim s3excel As Worksheet
Dim firstSheetName As String
Dim secondSheetName As String
Dim totalRow As Integer
Dim totalCol As Integer
Dim iRow As Integer
Dim iCol As Integer
Set s1excel = ThisWorkbook.ActiveSheet
' Open the "Raw_Data" workbook
Set wbs = Workbooks.Open(file_path & data_title)
wbs.Activate
ActiveWorkbook.Sheets(firstSheetName).Select
Set s2excel = wbs.ActiveSheet
' Find totalRow, totalColumn (assumes there's values in Column A and Row 1 with no blanks)
totalRow = ActiveSheet.Range("A1").End(xlDown).Row
totalCol = …
Run Code Online (Sandbox Code Playgroud) 在我的一个程序中,我需要计算一系列数字的平均值.问题是,有时答案会出现一个巨大的小数,我需要尝试将其降低到最大两位小数.
我见过一些叫做的东西Excel.WorksheetFunction.Round(...)
但据我所知它只适用于特定的数字或特定的细胞.我想知道是否有人知道如何实现这一点,以便它将在一系列单元格中舍入所有小数.
Excel.WorksheetFunction.Round(ActiveSheet.Range(g_first_Function_Col & "2:" & g_first_Function & g_totalRow).Select, 2)
Run Code Online (Sandbox Code Playgroud)
上面的代码试图在一系列单元格上使用round函数.g_first_Function_Col是一些列(如列"H"),g_totalRow是其中包含任何值的最后一行.当我尝试运行这段代码时,它告诉我"="预期.基本上我正在尝试选择整个列并将其四舍五入.
谢谢,
杰西斯莫瑟蒙
我试图通过查找第一列(由日期组成)和标题行中的第一个空单元格来使用C#查找Excel表的维度.
这是我现在正在使用的代码:
public static void findingTableBounds()
{
string dateCol = "";
ArrayList dateColumn = new ArrayList();
ArrayList numberOfColumns = new ArrayList();
for (int column = 1; column < currentRow; column++)
{
dateCol = ((Excel.Range)workSheet.Cells[currentRow, 1]).Value2.ToString();
if (dateCol != "")
{
dateColumn.Add(dateCol);
currentRow++;
totalRow++;
Console.WriteLine("Total Row: {0}", totalRow);
}
else
{
Console.WriteLine("Total Row: {0}", totalRow);
currentRow = 2;
}
}
Run Code Online (Sandbox Code Playgroud)
**注意:此方法有一个结束括号,我没有包含它,因为还有另一个for循环与上面的代码完全相同但只有多少列.
错误发生在"dateCol =((Excel.Range)workSheet.Cells [currentRow,1]).Value2.ToString();" 我很确定它会发生,因为我正在尝试在string为非可空类型时将null值(单元格)分配给dateCol(字符串).不幸的是我不确定如何解决这个问题.
我正在尝试编写一个小函数,它接受一个文件路径(工作簿保存在哪里),targetpath(将保存pdf的地方),以及excel中的一串选项卡名称(管道(|)分隔).
该函数的用户不必输入一串选项卡名称(它是可选的),如果没有,我想选择所有可见选项卡并打印它们.如果用户在单独的工作表中有50个图表并且不想写"Chart1 | Chart2 | ...."之类的字符串,则会出现这种情况.
码:
For Each WSO.Name In WBO.Worksheets
strSheets = strSheets & WSO.Name & "|"
Next WSO
strSheets = Left(strSheets, Len(strSheets) - 1)
arraySheets() = Split(strSheets, "|")
WBO.Sheets(arraySheets()).Select
WBO.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
strFilePath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Run Code Online (Sandbox Code Playgroud)
For Each循环有两个问题:它不会抓取任何纸张,例如"Chart1",它只会抓取诸如"Sheet1"之类的纸张.此外,它将抓取隐藏的工作表,以便当我尝试选择它们时,我得到一个越界错误.
我不知道图表表格是否与常规表格不同,或者为什么还会选择隐藏表格.
当用户单击宏按钮时,我会出现一个对话框.此对话框主要填写(日期,电子邮件,制作人,网站等已填写),用户需要做的就是输入他们的名字.问题是输入的日期是静态的,所以如果我输入"3/3/11"它会保持这种状态直到有人改变它.
我想知道该文本框是否有某种方式始终显示当前日期(除非用户决定因任何原因更改它).我尝试将不同的东西放入文本框的"值"部分(例如"getDate()"和"= Date()"),但到目前为止还没有成功.
谢谢,
杰西斯莫瑟蒙
我刚刚开始研究硒用于过去几天的自动化测试,并且变得非常困难.我一直在寻找关于此的文档,但没有找到任何非常有用的东西,但也许你们中的一个人发现了一些有趣的东西,如果有的话,我很乐意阅读它.
无论如何,问题在于:我需要打开一个网站.该网站接收一些将浏览器带到另一个站点的参数,但是如果参数无效,则下一个站点将显示一条消息"已发生错误".
如果第二个站点没有像这样出错,我们想要存储一些任意值并在以后回显它们.如果网站出现错误,我们希望标记错误并继续.现在,如果第二个站点无效,则selenium会停止运行.
它似乎做到这一点的唯一方法是有一个if-else语句虽然我没有在selenium中找到任何一个.我在某处读过你可以自己创建一些javascript然后将其输入selenium.问题是我不知道如何将javascript实际输入到selenium中.
我希望这不会太混乱.
谢谢,
杰西斯莫瑟蒙
我正试图抓住特定文本文件上传到计算机上的日期.日期不在实际文本文件中,而是必须右键单击,然后转到属性以查看日期.我需要将日期读入变量.
我不知道从哪里开始尝试完成这项工作.
谢谢,
杰西斯莫瑟蒙
我在工作簿中总共有五张纸.我的任务是在第一个工作表中创建一个能够指向其他四个的组合列表按钮.如果用户选择其中一个工作表名称,则该按钮将自动激活所选工作表.虽然可能会添加工作表,但不太可能删除工作表.
我甚至不确定如何让工作表名称显示在组合列表中.