테스트 사이트 - 개발 중인 베타 버전입니다

엑셀로 그누보드 게시판 자동 글쓰기-ie만 되는 vba 코드

· 2년 전 · 1570

Sub UploadDataToWebsiteWithVBA3()
    Dim IE As Object
    Dim Title As String
    Dim Content As String
    Dim 반복횟수 As Integer
    Dim i As Integer
    Dim 현재셀 As Range ' 새로운 변수 선언

    ' 현재 열린 워크북 및 시트 가져오기
    Dim WB As Workbook
    Dim WS As Worksheet
    Set WB = ThisWorkbook ' 현재 열린 워크북
    Set WS = WB.Sheets("Sheet1") ' 원하는 시트의 이름으로 수정

    ' 선택한 행부터 시작하여 다음 행의 데이터를 읽어서 반복 횟수로 설정
    ' 반복횟수 = WS.UsedRange.Rows.Count - ActiveCell.Row + 1
'=======

'====== 5번 반복

    For i = 1 To 5
        ' 선택한 셀의 데이터를 변수에 대입
        Title = WS.Cells(현재셀.Row, 2).Value
        Title = Title & "(" & WS.Cells(현재셀.Row, 1).Value & ")"
        Content = WS.Cells(현재셀.Row, 3).Value & WS.Cells(현재셀.Row, 4).Value

        ' 인터넷 익스플로러로 웹사이트 열기
        IE.Navigate "http://그누보드게시판 주소"

        ' 페이지가 로딩될 때까지 대기
        Do While IE.busy
            Application.Wait DateAdd("s", 1, Now)
        Loop

        ' 데이터 입력
        IE.Visible = False
        IE.Document.getElementById("wr_subject").Value = Title
        IE.Document.getElementById("wr_content").Value = Content
        IE.Document.getElementById("btn_submit").Click

        ' 페이지가 로딩될 때까지 대기
        Do While IE.busy
            Application.Wait DateAdd("s", 1, Now)
        Loop
        
        ' 선택한 셀을 파란색으로 색칠
        현재셀.Interior.Color = RGB(170, 255, 170)
        
        ' 다음 행으로 이동
        Set 현재셀 = 현재셀.Offset(1, 0) ' 현재셀을 다음 행의 첫 번째 셀로 이동
        
    Next i

    ' 인터넷 익스플로러 초기화
    IE.Quit
    Set IE = Nothing

    ' 완료 메시지 표시
    MsgBox "주인님^.^ " & 반복횟수 & "번 글쓰기를 하였습니다.", vbInformation, "알림"
End Sub

 

Function GetIEInstance() As Object
    Dim objShell As Object
    Dim objWindows As Object
    Dim objIE As Object
    
    ' Shell 객체 생성
    Set objShell = CreateObject("Shell.Application")
    
    ' 모든 Windows 컬렉션 가져오기
    Set objWindows = objShell.Windows
    
    ' 인터넷 익스플로러 찾기
    For Each objIE In objWindows
        If TypeName(objIE.Document) = "HTMLDocument" Then
            If InStr(objIE.FullName, "iexplore.exe") > 0 Then
                Set GetIEInstance = objIE
                Exit Function
            End If
        End If
    Next objIE
    
    ' 인터넷 익스플로러가 없을 경우 Nothing 반환
    Set GetIEInstance = Nothing
End Function

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1717479
1717473
1717470
1717463
1717452
1717438
1717431
1717422
1717414
1717412
1717407
1717401
1717393
1717386
1717379
1717378
1717365
1717364
1717360
1717359
1717346
1717344
1717333
1717327
1717313
1717312
1717310
1717307
1717306
1717304