IE 엑셀 첨부파일 실행 및 기타 사항 문의 드립니다.

VBA
작성자
digi****
작성일
2020-10-03 06:59
조회
231

수고 많으십니다. 유튜브에서 크롤링 영상에서부터 시작해서 다양한 영상을 잘 이용하여 매크로를 작성하던 중 진행되지 않는 부분이 있어 질문 드립니다~혹시나 기존에 설명된 자료가 있으면 해당 링크만 달아주셔도 감사할듯합니다.

현재 IE에서 엑셀 첨부파일을 열고, 해당 첨부파일 내 데이터를 자동으로 수집하여 그래프로 조회하는 VBA를 만들고 있습니다.

아래 노란색 칠한 부분까지가 VBA 실행 시 해당 주소로 들어가서, 다운로드 버튼을 클릭한 후, Alt+N을 눌러 "OlddailyReportHitory.xls을(를) 열거나 저장하시겠습니까?" 대화상자의 "열기(O)" 칸 선택 후, 엔터키를 눌러 첨부파일을 여는것 까지입니다. 노란색 이후로는 첨부파일 내 필요한 데이터가 있는 부분을 복사하여 기존 엑셀에 넣고 그래프를 그리게 하는 코드입니다.

  1. 메인 질문) 엔터키를 누르면 "OlddailyReportHitory.xls" 이름의 첨부파일이 열리게 하고 싶은데, 해당 파일이 로드가 되질 않는지 런타임 오류 메세지가 나온 후 디버깅 시 항상 노란색 부분에서 걸립니다. (오류 메세지 상자에서 디버그 또는 종료를 누르는 순간 첨부파일이 열립니다.)  첨부파일이 열려 있는 상태에서는 노란색 부분부터 코드 진행을 시키면 이후 과정은 잘 진행 되는데, 제가 짠 코드에서는 엔터키가 입력되긴 하지만, 첨부파일 로드는 되지 않은 상태에서 해당 OlddailyReportHitory.xls 파일 화면을 활성화 시키라는 명령이 먼저 진행되어 오류가 나는듯힙니다. 시간이 부족한가 싶어 Application.Wait DateAdd("s",1,Now)을 이용하여 시간을 늘려도 봤지만 그 시간 동안 첨부파일이 로드 되는게 아니라 아무 작업이 없다가 해당 시간 후에 똑같은 부분에서 같은 오류가 발생합니다. 어떻게 조치해야 할까요?

2. 혹시 1초씩 기다리며 ALT+N 후 Enter키 입력하는 방법 말고는 첨부파일을 로드하는 좀 더 효과적인 방법이 없을까요?

3. 시간 단축을 위해서 ie.Visible=False 상태에서 진행하는 방법은 없을까요? False로 하니 ALT+N 후 Enter키 입력하는 방식으로는 진행이 안 되더라구요.

 

현재까지 작성한 코드는 아래와 같습니다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Sub 링크1( )

Dim ie As InternetExplorer

Dim ele As IHTMLElement

Dul url As String

Dim introw As Integer

 

Set ie=CreateObject("internetexplorer.application")

ie.Visible=True

url="http~"

ie.navigate url

Do While(ie.readyState <> READYSTATE_COMPLETE Or ie.Busy=True)

DoEvents

Loop

 

For Each ele in ie.document.getElementsByClassName("btn_blue")

ie.document.getElementsByClassName("ico ico_exel mgr5")(0).click

Next ele

 

Apllication.Wait Dateadd("s",1,Now)

Application.Sendkeys "&n"

 

Application.Wait DateAdd("s",1,Now)

Application.Sendkeys "~",

 

Application.Wait DateAdd("s",1,Now)

Sheets("데이터").Select

Range("A3:G10000").Select

Selection.ClearContents

 

Windows("OlddailyReportHistory.xls").Activate

Columns("H:K").Select

Selection.Copy

Windows("트랜드조회시스템.xlsm").Activate

Columns("A:D").Select

ActiveSheet.Paste

 

Introw = Range("a10000").End(xlUp).Row

 

Range("E2:G2).Select

Rnage("G2").Activate

Application.CutCopyMode = False

Selection.Autofill Destination:=Range(Cells(2,5), Cells(Introw,7))

Range("H2").Select

 

End Sub

전체 3

  • 2020-10-03 18:16

    .Activate 는 객체가 Open된 이후 사용할 수 있습니다.

    먼저 객체를 열면 오류는 해결될 듯 싶습니다.
    아래 세 줄을 오류가 발생한 앞 줄에 삽입해 보시죠.

    Workbooks.Open ThisWorkbook.Path & "\" & "OlddailyReportHistory.xls"
    Activewindow.WindowState = xlMinimized
    ThisWorkbook.Activate

     


    • 2020-10-04 07:52

      답변 감사드립니다.

      말씀해주신 대로 조치해보았으나 아래와 같은 메세지가 출력되네요ㅠㅠ

      '1004'런타임 오류가 발생하였습니다.

      'C:\USER\Desktop\제이름/OlddailyReportHistory.xls'을(를) 찾을 수 없습니다. 파일의 이름이 변경되었거나 파일이 이동 또는 삭제되지 않았는지 확인하세요.


  • 2020-10-04 08:36

    열고자 하는 파일의 위치는
    위의 소스코드를 포함하고 있는 엑셀파일이 있는 위치에 있어야 합니다.
    그리고, 엑셀파일의 확장자를 정확하게 넣여야 합니다.

    Workbooks.Open ThisWorkbook.Path & "\" & "OlddailyReportHistory.xls"

    ============               ================
    물리적인 파일경로               정확한 파일명

     

     


전체 4,251
번호 카테고리 제목 작성자 작성일 추천 조회
4235 함수/공식
New 업체명으로 된 DB에서 업체명 + ~월 등 문자가 추가되었을때 DB에서 찾아오는 함수 수식
이수철 | 14:57 | 추천 0 | 조회 1
이수철 14:57 0 1
4234 함수/공식
New 로우데이터에서 특정값을 찾아 값이 있을 경우와 없을 경우 결과 값을 지정하여 도출하는 방법이 궁금합니다.
mysoul**** | 14:42 | 추천 0 | 조회 6
mysoul**** 14:42 0 6
4233 함수/공식
New x,y,z로 이루어진 방정식 두 개를 '해 찾기' 기능으로 풀 수 있을까요? (1)
고대하라 | 12:08 | 추천 0 | 조회 20
고대하라 12:08 0 20
4232 기능/도구
New 셀선택시 설명 팝업 (2)
HYODONG | 11:49 | 추천 0 | 조회 16
HYODONG 11:49 0 16
4231 피벗테이블
New 정규화에 대한 문의 첨부파일 (1)
광개토태왕 | 10:05 | 추천 0 | 조회 19
광개토태왕 10:05 0 19
4230 차트/그래프
New 원형 차트에 슬라이서 연결 시 표시 방법 문의 드립니다.
이찬우 | 09:48 | 추천 0 | 조회 16
이찬우 09:48 0 16
4229 함수/공식
New 대량의 데이터를 가지고 있는 다른 시트에서 중복값찾기 (4) 답변완료
라운 | 00:07 | 추천 0 | 조회 41
라운 00:07 0 41
4228 VBA
New 시간이 겹치거나 겹친 시간에 동일 이름이 중복될 경우 찾을려면 어떻게 하면 될까요? (3)
셀라푸우 | 2021.10.20 | 추천 0 | 조회 31
셀라푸우 2021.10.20 0 31
4227 VBA
New 데이터 범위설정 매크로 수식 (2)
젬마 | 2021.10.20 | 추천 0 | 조회 49
젬마 2021.10.20 0 49
4226 피벗테이블
New 피벗테이블 구성 (1)
광개토태왕 | 2021.10.20 | 추천 0 | 조회 38
광개토태왕 2021.10.20 0 38
4225 VBA
New (초보..)vba 웹크롤링(selenium 사용) 문자를 읽어오지않아 문의드립니다!! (4)
윌터너 | 2021.10.20 | 추천 0 | 조회 29
윌터너 2021.10.20 0 29
4224 함수/공식
New 함수 자동입력?
흑형 | 2021.10.20 | 추천 0 | 조회 52
흑형 2021.10.20 0 52
4223 기능/도구
New 구글 스프레드시트 이미지 인쇄 문제 (1)
민 쌤 | 2021.10.20 | 추천 0 | 조회 30
민 쌤 2021.10.20 0 30
4222 파워쿼리/피벗
New 파워쿼리 입문입니다. 시트 합치는 방법 질문드립니다. 첨부파일 (2)
월마리아 | 2021.10.19 | 추천 0 | 조회 51
월마리아 2021.10.19 0 51
4221 함수/공식
New 공부용 일정표 관련해서 자동 생성 질문드립니다.
1234느린열차 | 2021.10.19 | 추천 0 | 조회 31
1234느린열차 2021.10.19 0 31
4220 함수/공식
New 변화되는 값 추적하기 첨부파일 (1)
아자사랑 | 2021.10.19 | 추천 0 | 조회 47
아자사랑 2021.10.19 0 47
4219 함수/공식
New 셀에 포함된 특정단어 추출 함수 첨부파일 (5) 답변완료
마운틴 | 2021.10.19 | 추천 0 | 조회 68
마운틴 2021.10.19 0 68
4218 피벗테이블
New 피벗테이블에서 열 (레이블) 상위 10% 필터링 방법 문의 첨부파일 (3)
김성현19 | 2021.10.19 | 추천 0 | 조회 35
김성현19 2021.10.19 0 35
4217 함수/공식
New 다중조건으로 매출 순위 구하기 첨부파일 (8) 답변완료
newstar | 2021.10.19 | 추천 0 | 조회 56
newstar 2021.10.19 0 56
4216 파워쿼리/피벗
New Expression.Error: Table 형식의 값을 Binary 형식으로 변환할 수 없습니다 첨부파일 (3)
슝슝 | 2021.10.19 | 추천 0 | 조회 30
슝슝 2021.10.19 0 30
4215 함수/공식
New 행에서 시간만 나타내기 첨부파일 (6) 답변완료
드래군 | 2021.10.19 | 추천 0 | 조회 53
드래군 2021.10.19 0 53
4214 기능/도구
New QR 코드 만들기 첨부파일 (1)
맑고 향기롭게 | 2021.10.19 | 추천 0 | 조회 34
맑고 향기롭게 2021.10.19 0 34
4213 함수/공식
New --ISNUMBER의 의미 (2)
마운틴 | 2021.10.19 | 추천 0 | 조회 41
마운틴 2021.10.19 0 41
4212 함수/공식
New 엑셀 수식 가로로 하는법 첨부파일 (4)
KT | 2021.10.19 | 추천 0 | 조회 63
KT 2021.10.19 0 63
4211 함수/공식
New 유효성검사를 통해 다른시트의 데이터 중 매출액이 있는 데이터만 불러오는 방법 첨부파일 (6)
emp**** | 2021.10.19 | 추천 0 | 조회 42
emp**** 2021.10.19 0 42
4210 VBA
New 이미지넣는 매크로, 다시 열어보니 사진이 안떠요 (4) 답변완료
흑형 | 2021.10.19 | 추천 0 | 조회 43
흑형 2021.10.19 0 43
4209 함수/공식
New 조건에 맞는 값 추출될 수 있도록 수식 질문드립니다 첨부파일 (1) 답변완료
젬마 | 2021.10.19 | 추천 0 | 조회 48
젬마 2021.10.19 0 48
4208 기능/도구
New 하나 이상의 수식이 허용된 8,192자 제한보다 깁니다.
City0311 | 2021.10.19 | 추천 0 | 조회 21
City0311 2021.10.19 0 21
4207 VBA
New 재질문 : ParseJSON 함수 첨부파일 (3) 답변완료
하늘의 꿈 | 2021.10.19 | 추천 0 | 조회 29
하늘의 꿈 2021.10.19 0 29
4206 VBA
New 다른시트명 불러오기 vba (3)
야야야야구르트 | 2021.10.18 | 추천 0 | 조회 55
야야야야구르트 2021.10.18 0 55