- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Excel 子程序,它使用 Split()
函数将 CSV 数据从单元格拆分到数组中。但是,根据我使用的 Excel/OS 版本,用作换行符分隔符的字符会发生变化:
Excel 2011/Mac OSX:
fullArray = Split(CSV, vbNewLine) 'successfully returns array
fullArray = Split(CSV, Chr(10)) 'fails and returns only a single cell
Excel 2007/Windows 7:
fullArray = Split(CSV, Chr(10)) 'successfully returns array
fullArray = Split(CSV, vbNewLine) 'fails and returns only a single cell
还有其他人注意到这一点/有解释为什么会发生这种情况吗?
最佳答案
如果您需要支持多个操作系统(或同一操作系统上的不同版本),您可以查看条件编译语句。
您可以引用以下内置编译器常量列表:
http://www.utteraccess.com/wiki/index.php/Conditional_Compilation#Built_In_Compiler_Constants
将分隔符变量定义为字符串并将其分配给函数的结果。
Dim dlmt as String
dlmt = newLine()
fullArray = Split(CSV, dlmt)
该函数然后使用条件编译常量来检查操作系统:
Function newLine() As String
#If Win32 Or Win64 Then
ret = Chr(10)
#ElseIf Mac Then
ret = vbNewLine
#End If
newLine = ret
End Function
坦率地说,现在我这样做了,我记得在这里使用条件编译并不是绝对必要的,除非您有在某些版本中无法编译的方法/属性。您可以使用 Application.OperatingSystem
的更简单属性:
Function newLine() As String
Select Case Application.OperatingSystem
Case Like "Windows*"
ret = Chr(10)
Case Else
ret = vbNewLine
End Select
End Function
关于excel - vbNewline 与 Chr(10) 作为 Windows 与 Mac OSX 中的换行分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599769/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!