안녕하세요. 슬랙 채널에 네이버 증권 사이트에 공시된 환율을 매일 특정시간에 전송이 가도록 하려고 하는데 이 작업이 노코드로도 가능할까요?
Finance 함수를 이용하면 구글시트에서 환율 정보를 가져올 수 있습니다.
구글시트를 아웃코드의 슬랙 커낵터를 이용하면 보내는 것도 가능할 것 같습니다.
(안해본 영역이라… 아웃코드 팀에 문의하면 매우친절하게 알려주십니다)
구글시트는 특정시간에, 특정 이벤트가 생길때 마다, 몇분마다 등등 원하는 트리거로 액션을 할 수 있는데
지메일로 보내기 외에 슬랙으로 내보내는 기능 같은 것은 없어서 재피어나 아웃코드 같은 노코드 툴의 도움을 받아야 할 것 같습니다.
저 이거 안되는 줄 알았는데 되는 방법을 알았습니다. 핵심만 말씀드리면 체크 박스를 만들고 체크박스 열에 체크되는걸 기준으로 수정 시간을 기록하게 apps script를 짠 다음에 그 last checked time을 trigger column으로 설정하시면 체크될때마다 발송됩니다.
말씀하신 내용의 앞부분은 이해가 되는데
뒷부분 “발송” 되는 부분은 이해가 안되네요 ^^
저는 체크박스 용도를 오히려 반대로 사용중입니다.
import시리즈 함수나 환율이나 주가 정보를 가져오는류의 함수는 5분마다 업데이트 되어야 하지만, 실제로는 먹통되어서
계속적인 업데이트가 안되기 때문에 스크립트의 역할은 체크박스를 체크 했다가 언체크 했다가를 5분 단위로 작동하게 하는 새로고침의 역할로 사용하고 있습니다.
스크립트는 특정셀이 기록될때 마다 기록한 시간 적는 귀찮음 대체용으로는 써봤는데,
굳이 체크박스를 만드시는 이유는 (제가 사용하는 목적과 다른 것 같아서) 언뜻 이해가 되지 않기도 하고
그 시간 기준으로 발송이 어떻게 되는지 궁금합니다.
8번째 열에 시간 기록하는 스크립트
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var currentCell = ss.getActiveCell();
if( currentCell.getColumn() == 8 ) {
var nextCell = currentCell.offset(0, 1);
var newDate = Utilities.formatDate(new Date(),"GMT+09:00", "yyyy/MM/dd hh:mm:ss");
nextCell.setValue(newDate);
}
}
그리고 아래와 같이 새로고침용으로 언체크 → 체크를 스크립트를 짜면 너무 빨리 체크없앴다 체크했다 해버려서 새로고침 역할을 못하기 때문에 중간에 딴짓(?)하는 매크로를 더 추가해서 천천히~ 체크해제와 체크의 텀을 두고 있는데 더 유용한 방법이 있는지도 궁금합니다.
function myFunction() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange(‘원하는 셀주소’).activate();
spreadsheet.getCurrentCell().setValue(‘false’)
.setValue(‘true’);
};
아 저는 문자나 메일 발송은 앱스스크립트로 하는건 아니고 재피어로 구현합니다.
다만 onedit 이벤트로 체크와 언체크된 시간을 기록하면 그걸 수정 트리거로 해서 재피어에서 문자 혹은 메일 발송 트리거가 잘 터지더라고요.
예전에 trigger column을 체크박스열로 설정했을때 처음 체크하면 트리거가 터지는데 다시 언체크했다가 또 체크하면 트리거가 안터지길래 아웃코드 같은 다른대안을 써야하나 생각했었거든요.
근데 최근에 체크된 시간을 trigger column 기준으로 설정하니까 체크될때마다 트리거가 잘 터지더라고요.
추신. 언체크할때는 트리거가 안터지게 재피어 상에 필터 조건을 추가하긴 한답니다