【发布时间】:2018-05-08 13:44:26
【问题描述】:
我正在尝试通过 VBA 将 SQL 文件导入 excel,以便将 SQL 代码作为一个字符串返回,但是当我将 SQL 作为字符串导入时,每个字符之间出现了小方块(回车?) - 不知道为什么!它以前在其他文件中使用过,使用不同的 SQL,所以我不确定我做错了什么。
Function ImportSQLText(FileExt, FileSQLName)
'//Needs Microsoft Scripting Runtime Ref
'//and microsoft active x data objects 2.8
Dim ReadText As String, newLine As String
Dim fso As FileSystemObject: Set fso = New FileSystemObject
Set txtStream = fso.OpenTextFile(FileExt & fileName, ForReading, False)
ReadText = " "
Do While Not txtStream.AtEndOfStream
newLine = txtStream.ReadLine
If InStr(newLine, "[input-sDte]") > 0 Then
ReadText = ReadText & Replace(newLine, "[input-sDte]", sDte) & vbCrLf
ElseIf InStr(newLine, "[input-eDte]") > 0 Then
ReadText = ReadText & Replace(newLine, "[input-eDte]", eDte) & vbCrLf
Else
ReadText = ReadText & newLine & vbCrLf
End If
Loop
txtStream.Close
ImportSQLText = ReadText
End Function
SQL 代码如下:
;if object_id('tempdb.#usr_fld') is not null
drop table #usr_fld
-- Creating Temp Table
CREATE TABLE #usr_fld([PLACE-REF] NVARCHAR(50)
,[PROJCODE] nvarchar(100)
,[CUORACLE] nvarchar(100));
任何输入将不胜感激 - 这次谷歌搜索对我没有帮助。
【问题讨论】:
-
“在每个字符之间获得小方块” -> 可能将 UTF16 读取为 ANSI/ASCII/其他 8 位编码 - 尝试使用十六进制编辑器检查源文件。