소프트웨어 엑셀(xls)파일 열지않고 셀 값 에디트할 수 있을까요?
2023.01.05 07:01
xls 를 마이크로소프트 엑셀로 열지 않고 3개 정도의 셀 값만 에디트할 수 있을까요?
xls 를 csv 로 바꿔주는 command line 프로그램으로 csv 로 바꾸고
그 csv 의 cell 을 에디트한 후 xls 로 다시 저장하는 방법이 있기는한데
문제는 작업하려는 xls 파일은 어떤 셀은 색깔있게 테두리가 쳐져있기도 하고, 어떤 셀의 텍스트는 폰트사이즈도 달라서
csv 로 바꾸는 순간 그런 스타일적인 정보를 다 잃어버리게 됩니다.
최종 xls 는 작업전 xls 와 스타일까지 완전히 똑같아야만 합니다 (언급한 3개 정도의 셀 값만 다르고)
xls 파일의 수는 상당히 많으나 형식은 같습니다.
가상의 코드지만 아래와 같은 방법으로 처리할 수 있을까요
ExcelCommandLineEditor.exe "abc.xls", "2, AA"->"7"
이렇게하면 "abc.xls" 의 2번 시트의 AA cell 의 값을 7 로 바꾸라는 것..
xls 파일을 열고 나서 매크로로 하는 방법은 사양합니다. 감사합니다.
댓글 [5]
-
이롱이 2023.01.05 13:26
-
칠월일일 2023.01.05 14:09
오토핫키로 간단하게 구현해봤어요
Loop, %0%
param%A_Index% := %A_Index%
path = %param1%
Sheetset = %param2%
Celset = %param3%
X1 := ComObjCreate("Excel.Application")
X1.Workbooks.Open(path)
X1.Visible := false
X1.Sheets(Sheetset).Select
X1.Range(Celset).Value := param4
X1.ActiveWorkbook.Save()
X1.Quit
return
ExitApp
오토핫키 설치 후 메모장열어서 위 코드 저장할때 확장자 ahk로 저장후
사용방법 cmd 열어서 실행
test.ahk "c:\temp\test.xlsx" "Sheet1" "a1" "ok"
파일경로및파일명 수정할시트 수정할행열 내용
-
지후빠 2023.01.05 16:48
standalone commandline exe 있기야 하겠지만 찾기 쉽지 않을 것 같습니다. 엑셀 파일 구조와 상관되어...
위 오토핫키와 같은 방식일 것입니다. vbs로 excel을 백그라운드로 실행하여 데이터 입력 후 닫습니다.
사용예) input_cel_value.vbs d:\test1.xls 1 C6 테스트
--- 공백 있을때는 쌍따옴표로 묶어줍니다. input_cel_value.vbs "d:\My Documents\test1.xls" 1 A1 "테스트 입니다."
같은 파일에서 여러 셀 수정은 저녁에 올릴께요.
-
지후빠 2023.01.05 18:40
하나의 워크북 대상으로 동시에 여러 셀 수정하도록 하였습니다.
사용예) input_cel_value.vbs d:\test1.xls 1 A1 테스트A1 1 A2 테스트A2 2 B1 테스트B1 2 B2 테스트B2
-
ton3d 2023.01.05 23:57
답변 감사합니다. 차근차근 살펴봐야겠네요^^
파이썬으로 하는 방법이 있던데, 그런 방법도 안되나요?