엑셀로 자동 포스팅 글 작성하기 엑셀과 웹2
엑셀로 자동 포스팅 글을 생성할 수 있습니다. 아래 설명을 그대로 따라하시면 됩니다. Open AI API를 사용하므로 유료입니다만, 첫 회원가입하면 5달러를 지급받으니 보통 2주 이상은 사용하실겁니다. 제미나이는 1시간 동안 60건 무료입니다.
엑셀로 자동 포스팅가 가능한 이유
엑셀의 매크로를 이용하면 웹 API를 호출할 수 있습니다. Open AI의 API를 매크로로 호출한다면, 자동으로 원하시는 글을 생성하실 수 있습니다.
엑셀의 매크로를 이용하여 웹API를 호출하여 결과를 자동으로 정리하는 예시는 아래 링크의 글에서 정리하였습니다.
엑셀로 자동 포스팅를 만들기 위한 준비 작업
아래 과정이 필요합니다. 복잡해 보입니다만 하나씩 진행하다보면 막히는 곳 없이 쉽게 완료하실겁니다.
-
Open AI API key 얻기
-
엑셀 작성
-
VBA환경설정
-
JSON 파서 추가
-
VBA코드작성
Open AI API key 얻기
Open AI에 가입하여 API key를 발급 받아 복사해두시면 됩니다.
Open AI API key 발급 받기
엑셀 작성
생성을 원하시는 글의 내용을 아래와 같이 기입해주세요.
- 엑셀의 Sheet1의 A1셀에 원하시는 프롬프트를 작성해주세요. (A1 한칸에 다 기입해주셔야 정상 동작합니다.)
너는 블로그 전문가야 아래 주제를 쉬운 문장으로 설명해줘.
아래의 구성으로 정리해줘.
제목
메타설명글
소제목
내용
- 엑셀의 Sheet1의 A2셀에 작성을 원하시는 주제를 입력해주세요. (예시 참고)
VBA환경설정
엑셀에서 Alt + F11을 눌러 VBA 편집기를 엽니다.'도구' 메뉴에서 '참조'를 선택하고 아래 3가지를 체크합니다.
-
Microsoft XML, v6.0
-
Microsoft Scripting Runtime
-
Microsoft Word 16.0 Object Library
JSON 파서 추가
VBA-JSON 라이브러리를 사용하여 JSON을 파싱합니다. VBA-JSON 라이브러리에서 JSONConverter.bas 파일을 다운로드하여 VBA 편집기 메뉴에서 파일/가져오기를 눌러 가져옵니다.
VBA코드작성
VBA편집기 메뉴에서 삽입/모듈을 선택하고 아래 코드를 붙여 넣습니다.
apiKey = "OPEN AI API-KEY를 붙여넣어주세요."
이 부분에 OPEN AI API-KEY를 복붙하시고 저장하시면 됩니다.
Attribute VB_Name = "Module1"
' 엑셀로 자동 포스팅 글 작성하기 엑셀과 웹2
Sub CallOpenAIAPI()
Dim http As Object
Dim url As String
Dim apiKey As String
Dim requestBody As String
Dim response As String
Dim systemText As String
Dim userText As String
Dim jsonResponse As Object
Dim resultText As String
' Set up the API URL and the API key
url = "https://api.openai.com/v1/chat/completions"
apiKey = "Bearer " & "API키 입력해주세요."
' Read the content from Excel cells
systemText = Sheets("Sheet1").Range("A1").Value
userText = Sheets("Sheet1").Range("A2").Value
' Set up the request body
requestBody = "{""model"": ""gpt-3.5-turbo"", ""messages"": [" & _
"{""role"": ""system"", ""content"": """ & systemText & """}," & _
"{""role"": ""user"", ""content"": """ & userText & """}]," & _
"""temperature"": 0.7}"
' Create the HTTP object
Set http = CreateObject("MSXML2.XMLHTTP")
' Open the connection
http.Open "POST", url, False
' Set the request headers
http.setRequestHeader "Content-Type", "application/json"
http.setRequestHeader "Authorization", apiKey
' Send the request
http.send requestBody
' Get the response
response = http.responseText
' Parse the JSON response
Set jsonResponse = JsonConverter.ParseJson(response)
resultText = jsonResponse("choices")(1)("message")("content")
' Write the result to Sheet1's A3 cell
Sheets("Sheet1").Range("A3").Value = resultText
' Clean up
Set http = Nothing
Set jsonResponse = Nothing
End Sub
실행
이제 엑셀에서 Alt+F8을 누르시고 QueryChatGPTAndSaveToWord를 선택, 실행하시면 A3셀에 결과가 표시됩니다. (위 이미지 참조), 원하시는 내용이 맞는 지 확인하시면 됩니다. 워드프레스 API를 설정하면 생성된 글을 워드프레스로 자동 등록도 가능합니다. 그러나, 자동 생성한 글이 사이트 점수에 좋지 않은 것 같아요. 그대로 사용하시는 것은 안 좋을 듯하군요. 자동 포스팅까지 완료하여 워드프레스에 자동 등록까지 해주는 코드도 정리해 볼 예정입니다.