2017-12-28 9 views
0

VBScript에서 Excel 파일을 읽으려고하는데 file.Readline에서 이상한 문자가 나타납니다. 어떻게 세포의 가치를 올바르게 얻을 수 있었는지 아십니까? Excel 라이브러리가없는 경우.VBScript에서 Excel 파일을 읽는 방법?

Dim fso,file 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
Set dict = CreateObject("Scripting.Dictionary")   
Set file = fso.OpenTextFile ("C:\myFile.xlsx",1) 
row = 0 
Do Until file.AtEndOfStream 
    line = file.Readline 
    dict.Add row, line 
    row = row + 1 
Loop 
file.Close 
+0

'FileSystemObject' 메소드는 텍스트 파일을 처리하기위한 메소드입니다. Excel 통합 문서는 텍스트 파일이 아닙니다. –

+0

[this] (https://gist.github.com/simply-coded/758e2557ccd1a55b46765d8bb1099ec6)를보십시오. 엑셀이 설치되어 있지 않은 컴퓨터에서이 작업을하려고하지 않는 한, 아마도 매우 어려울 것입니다. – garbb

+1

엑셀 파일을 데이터베이스로 취급 할 ADO를 참조하십시오. https://support.microsoft.com/en-us/help/278973/excelado-demonstrates-how-to-use-ado-to-read-and-write-data-in-excel-w 및 https : // support.microsoft.com/en-us/help/257819/how-to-use-ado-with-excel-data-from-visual-basic-or-vba – ACatInLove

답변

0

Excel에서 매크로를 작성하는 경우 (또한 시각적 기본 스크립트) 셀 값을 가져 오는 방법은 여러 가지가 있습니다. 범위 함수가 있습니다 (웹의 예제 :) 워크 시트 ("Sheet1") 범위 ("A5") 값 셀 기능 (예 : 웹) 셀 (1, 1)이 있습니다.

엑셀 파일 (xslx)은 실제로 데이터가 xml 인 zip 파일이어야합니다. VB 컴파일러를 사용하고 있다면 읽을 수없는 이유가 여기 있습니다.

+0

Excel 매크로는 VBScript가 아닌 VBA로 작성됩니다. 비슷한 언어 임에도 불구하고 언어에는 몇 가지 주목할만한 차이점이 있습니다. –

+0

VBA는 내가 꽤 비슷한 것으로 연구 한 이래 꽤 많이 바뀌 었습니다 –

+0

엑셀 객체 모델은 동일한 vbscript/vba 또는 다른 COM 프로그램입니다. 연결 방법은 다를 수 있지만. – ACatInLove

0

나는를 사용하여 내 문제를 해결했다 확장자 .CSV를 사용하면 기본적으로 각 열이 쉼표로 구분되는 .txt 정보를 읽을 수 있으므로 내 코드가 정상적으로 작동합니다.

관련 문제