기본 콘텐츠로 건너뛰기

(ActiveX) 64비트 엑셀에서는 Active X가 동작하지 않네요~ Error 429

회사에 있는 장비들은 아무래도 ; out-of-date가 많다보니
뭔가 하나 바꿔서 설치하면 동작이 안되는 경우가 많습니다

오늘은 오랜만에 동기형이 뭔가 도와달라고 이야기해서 가보니까
PtrSafe를 입력해달라는 문구가 떠 있어서, 전에 직렬통신 모듈을 사용하던 기억이 나서 이걸 입력하면 해결되겠지? 생각하고, API 호출하는 줄에 PtrSafe를 추가를 했는데요~

이제 Error '429' can't create object ?? 무슨 에러가 뜨는거네요.

종일 궁금해서 찾다보니까
그 VB 프로그램이 ActiveX를 통해 외부 장비와 연결이 되있는데 이게 64비트 오피스에서는 지원을 안한다는 내용이었네요~ ㅋㅋ 마소형님들도 빠져있으니 32비트 오피스를 쓰라구~ ㅋㅋㅋ
(그 장비 말고도 다른 종류도 Ax로 연결된게 꽤 있는걸로 알고 있어요)

https://stackoverflow.com/questions/16121232/run-time-error-429-activex-component-cant-create-object?rq=1

전에 그래서 64bit Excel에서는 타이머 API도 조금 동작이 이상하게 했던 것 같기도 하네요. 32bit Excel에서 잘되던 타이머 API가 이상하게 64bit에서는 안되길래, 타이머를 돌리기전에 한 번 톡하고 타이머를 켰다가 끄면 제대로 돌아가더란 말이죠~ 이유는 모르겠습니다 ㅋㅋ 지금도 그렇게 쓰고 있습니다. (32bit / 64bit를 구분해놨습니다.)

제 생각엔 64bit에서는 위와 같이 ActiveX server를 쓸 수 없으니까, 아래와 같이 처리해야 한다고 결론을 냈습니다.

1) 오피스를 32bit 버전을 다시 설치해서 사용함 (여러 검색 결과에서는 이 방법을 추천합니다.)
2) Serial Comm, Ethernet Comm을 직접 연결해서 SCPI Command로 장비와 통신한다.

장기적으로 보자면 역시 2)의 방법을 쓰는게 좋아보이지만 당장 편하기는 1)이 편하지요~? 그리고 장비업체에 수리 의뢰하는 방법도 있으니까요~

한 가지 일에서 지난 몇 가지 일이 생각나서 글을 써봤습니다~ 역시 현실은 만만치 않아요~~

댓글

이 블로그의 인기 게시물

(VBA) 009 - 닫힌 파일에서 데이터 읽어오기 (ExecuteExcel4Macro)

#毎日育ちゃん可愛い大会 예시의 매크로 파일을 테스트 할 때는 저장된 폴더를 사용하실 폴더로 꼭 바꿔주세요! (pptx파일) pptx파일 (xlsx파일) 예제데이터파일   Macro파일 ★ 진행목적 : 왜 이걸 사용합니까 . 1) 행이나 열 , 또는 Sheet 과 같이 다른 특성을 가지는 1,2,3 차 데이터배열에 대한 처리 방법을 지금까지 설명드렸습니다 . 2) 그럼 이제 , 다른 파일에서 데이터를 읽어올 방법을 알아볼 필요가 있습니다 . 어째선가 회사의 데이터를 처리하다보면 , 주기적인 이름의 엑셀 파일 특정 Sheet, Cell 에 있는 경우가 많았습니다 . 3) 엑셀에서 이미 열려있는 파일의 참조는 ‘=‘ 을 사용하면 가능하지만 , 닫힌 파일은 데이터를 읽지 못합니다 . 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ 다른 파일의 참조는 어떻게 합니까 ? 1) 열려 있는 다른 파일의 데이터를 읽는 방식은 ‘=‘ 을 입력하고 해당 Cell 을 클릭하면 됩니다 ! 2) 그러면 아래와 같이 (=‘ 파일이 있는 폴더 [ 파일명 ]Sheet 명 ’!Cell 주소 ) 의 형태로 기록 이 됩니다 . ★ 닫힌 파일에 대해서는 INDIRECT 는 사용이 되질 않습니다 ! 1) INDIRECT 로는 처리가 되질 않습니다 . 2) 어째선가 전에 사용하던 INDIRECT 를 사용하고 싶지만 , 사용이 되질 않습니다 . 검색을 해봐도 안된다는 답변만 있네요 ! 3) 파일이 하나 두 개라면 , 이전과 같이 ‘=‘ 를 쓰면 되겠지만 , 그러면 자동화를 통한 효율화가 불가능해지겠죠 ! 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ ExecuteExcel4Macro 는 어떻게 사용합니까 ? 1) VBA 의 ExecuteExcel4Macro 란 매크로...

[Python] 크롤링 HTTP Forbidden 403 문제 해결

  코드에는 문제가 없는데 HTTP 403 Forbidden이 발생하길래.. 검색해보니까 서버사이드에서 저 같은 불법 크롤러를 거르는 메쏘드가 있는 모양입니다. 아래의 링크를 참고해서 해결했습니다 https://howtoworld.tistory.com/52 urllib에서 Request를 import 해줘야합니다. 1 2 3 4 def  hellenicshipping():     url  =  Request( "https://www.hellenicshippingnews.com/category/shipping-news/dry-bulk-market" ,headers = { 'User-Agent' :  'Mozilla/5.0' })     html  =  urlopen(url)     savefile  =   './hsn.txt' Colored by Color Scripter cs

(Node.js) EUC-KR을 Cheerio - Iconv-lite로 불러올 때

처음으로 Node.js로 웹 데이터 수집을 해봤는데, 글자가 자꾸 깨져서 수십번의 실패 끝에 되는 방법을 찾았습니다. 웹에는 iconv와 iconv-lite 두 가지 방법이 나오는데, iconv는 무슨 문제에선가 설치가 잘 안됩니다. 그래서 iconv-lite를 이용해서 진행했는데 이 경우에는 아래 순서로 코드가 진행될 것입니다. Request >> Cheerio >> iconv-lite 여기서 Cheerio와 iconv-lite 모듈 사용 위치가 중요한데, 만약 잘못되었다면 '占쏙옙'또는 '�'을 만나게 됩니다. 웹에서 검색해보면 인코딩이 잘못됐으니 로드된 데이터를 iconv-lite로 바꾸라고 하는데, 모듈 사용이 적절하게 되지 않고 데이터를 읽어들이면 이미 깨진 데이터를 저장하기 때문에 역으로 디코딩 자체도 당연히 제대로 안됩니다. 그래서 여기저기서 주워온 지식들을 합쳐보니까 아래와 같이 하면 해결이 됐습니다 ㅎ.ㅎ 오늘도 웹에 계신 수많은 선생님들 감사합니당!!! <방법> 1. request 옵션에서 인코딩은 Null로 설정 2. 아래와 같이 Cheerio에서 불러들일 때 iconv-lite의 iconv.decode(Target 변수, 'EUC-KR') 3. 마지막으로 데이터 출력할 때는 별도의 모듈을 사용하지 않고 .text()로 읽어들인다.