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

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

· 2년 전 · 1569

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495
1717479
1717473
1717470
1717463
1717452