我不是要求任何脚本的帮助,但我的问题是要澄清.最近我在Excel中做了很多VB脚本,所以我在这个问题上真的指的是Excel..text,.value和.value2有什么区别?我应该何时使用target.text,target.value和target.value2?我从未使用过value2选项,但仍想知道它的用途.
有时如果我使用.text它会给我一个错误,当我只检查或操作单元格中的文本时,我需要使用.value.然后有时我认为我应该使用.value我得到一个错误,我需要使用.text.通常它接受或不接受问题,但有时它会产生影响.我知道必须有一些逻辑,但我似乎无法弄明白.
我还发现,如果你只是将它保留为目标而不指定.text或.value它最初会起作用,但是有人做的事情最终会导致脚本出错,所以总是最好在它上面使用.something .我想我要问的是,是否有人可以给我一些指导方针,经验法则,如何正确使用每一个以及何时需要使用它.
谢谢你们的解释.我更了解它.它们都是很好的解释.下面是我的一些代码的一个小例子.我认为它应该是target.text,但它会出错,所以当我使用target.value时它会起作用.
If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then
Target.Value = "Higher Level Outage"
End If
Run Code Online (Sandbox Code Playgroud)
我仍然有点困惑,因为当我想到价值或价值2时,特别是在你提供的答案之后,我认为它们只应该用于数字.但是,在我的例子中,我正在谈论严格的文本,这是我的脚本所指的很多(单元格中的文本,比数字更多).
我有一个带有sheet1的excel文件,它有一个我需要在第2行和第10列读取的值.这是我的代码.
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
string currentSheet = "Sheet1";
Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
var cell = (Excel.Range)excelWorksheet.Cells[10, 2];
Run Code Online (Sandbox Code Playgroud)
获取Excel.Range的单元格对象后,我不知道如何读取该单元格的内容.我尝试将其转换为数组并在其上循环,我尝试转换为字符串数组等.我确信它非常简单.有没有直接的方法来获得一个字符串的单元格值?