サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
moripro.net
function shiftSample2() { var arr = ['a1', 'a2', 'a3', 'a4', 'a5']; //配列の中身を先頭から順番に取り出す while (arr.length) { var ele = arr.shift(); Logger.log('ele => %s', ele); Logger.log('arr => %s', arr); /* [20-03-13 22:22:30:930 JST] ele => a1 [20-03-13 22:22:30:934 JST] arr => [a2, a3, a4, a5] [20-03-13 22:22:30:936 JST] ele => a2 [20-03-13 22:22:30:937 JST] arr => [a3, a4, a5] [20-03-13 22:22:30:938 JST] e
毎日(毎週)指定の時刻に、パソコンの画面にメッセージを表示させる方法を紹介します。 【ポイント1】Windowsの標準機能のみでできる!(特別なソフトウェアのインストールは不要) 【ポイント2】メッセージが画面の最前面に表示され、かつ、OKボタンを押すまで消えないので見落とす心配がない ※ユーザーがPCにログオンしているときのみ表示されます (イメージ)
スプレッドシートの指定シートをPDF出力する スプレッドシートの指定シートをPDF出力するスクリプトがこちらです。 21行目:PDF出力する「セル範囲」を指定する 41行目:PDF出力先の「フォルダ」を指定する function exportSheetToPDF(){ const ss = SpreadsheetApp.getActiveSpreadsheet(); // PDF出力するシートを指定 const sheetName = 'test'; const ssId = ss.getId(); const sheetId = ss.getSheetByName(sheetName).getSheetId(); // スプレッドシートをPDF出力するためのURL const url = 'https://docs.google.com/spreadsheets/d/' + ssId +
function Sample1() { //配列 var arr = [1, 'Tom', 20]; Logger.log(arr); //[1, Tom, 20] //連想配列 var obj = {'id':1, 'name':'Tom', 'age':20}; Logger.log(obj); //{name=Tom, id=1, age=20}※出力順は不定 }
Sub mkdirFolder() Dim Path As String '作成予定フォルダの上位パス Path = Range("A2").Value Dim i As Long For i = 2 To Range("B2").End(xlDown).Row Dim FolderName As String '作成するフォルダ名 FolderName = Cells(i, 2).Value Dim NewDirPath As String '作成予定のフォルダパス NewDirPath = Path & "\" & FolderName '作成予定フォルダと同名のフォルダの存在有無を確認 If Dir(NewDirPath, vbDirectory) = "" Then MkDir Path & "\" & FolderName End If Next i MsgBox "終了しました
再帰処理を使って階乗の計算をしてみよう まずは「再帰」と「階乗」の用語の確認からしましょう。 再帰とは 再帰(さいき)は、あるものについて記述する際に、記述しているものそれ自身への参照が、その記述中にあらわれることをいう。 うーん、むずかしいですね~ でも大丈夫です。もりさんがしっかり解説してくれますから 階乗とは 階乗とは、1~nまでの数字の積です。 n! = n × (n-1) ×・・・× 3 × 2 × 1 n=5の場合、 5!=5×4×3×2×1なので「5の階乗は120」となります。 コード 下記のコードをF8キーでステップ実行してみてください
こんにちは、もり(moripro3)です! GASのDateオブジェクトを使った日付処理のメモ。請求書作成などに必要な「未来日付」の算出に便利です。 この記事では「今日の○ヶ月後は何月何日?」「今日の○日後は何月何日?」をGASで計算するスクリプトを紹介します。
こんにちは、ITライターのもり(moripro3)です! みなさんは会社の仕事などで「手順書」を作りますか?システム担当者なら操作マニュアルを作ったり、ほかにも、業務引継ぎなどの手順書を作ったことのある人も多いと思います。 Webシステムやソフトウェアの手順書には「画面キャプチャ」が必要不可欠です。読み手になんらかの操作をしてもらうとき、文字だけで伝えるよりも、対象の画面を見せて「ココをクリックしてね」としたほうが伝わりやすいです。 こちらの記事で「画面キャプチャの撮り方」のポイントを紹介しました。 https://moripro.net/writing-screen-capture/ キャプチャした画像に枠線をつけたり、吹き出しで説明を付けたりと、加工をしますよね。「画面キャプチャの撮り方」と同じくらいに、説明の書き込み方も重要です。 この記事では、システム操作の手順書を作る人向けに「キ
この記事では、Googleドライブ上で新しいスプレッドシートを作成するスクリプトを紹介します。 SpreadsheetAppクラスのcreateメソッドで新規スプレッドシートを作れるのですが、「フォルダ」の指定はできません(マイドライブに作成される) そこで、ちょっと面倒ですが、下記の3手順を踏みます。 【手順1】新規スプレッドシートをマイドライブに作成する 【手順2】手順1で作成したスプレッドシートを、指定フォルダに「追加」する 【手順3】手順1で作成したスプレッドシートを、マイドライブから「削除」する
指定期日までの残日数を自動通知するBot このBotは2つの処理から成り立ちます。 【処理1】指定期日までの残日数を求める処理 【処理2】処理1で求めた値をメール送信する処理 【スクリプト】 ここでは、「確定申告」を例としたスクリプトを紹介します。Momentライブラリを使用すると、日付の差分を簡単に取得できます。 /* * GAS用Moment.js * プロジェクトキー:MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48 */ function NotifyRemainingDays() { const deadline = Moment.moment('2020/4/16'); //何かの期日 const today = Moment.moment(); /* 2つの日付を含まない差分日数を取るので、+1する (例)4/1と4/5を比較すると 3 が返る*/ cons
【Windows】ファイルはコピーせずにフォルダ構成のみをコピーする方法Windowsでフォルダ構成のみをコピーする方法を紹介しています。 作業に使うのはコマンドプロンプトのみです。プログラミング不要でお手軽に作業可能です。...
こんにちは、もり(moripro3)です! この記事では、GASとSlackAppを使って、botユーザーから指定ユーザー宛にDM送信する方法を紹介します。
【中級編】これを知っておくと便利! エクスプローラーを開く(Windowsキー + E) ささっと起動したい時に、覚えておくと便利ですよ! フォルダパスの選択(Alt + D) フォルダパスが編集モードになります。[Ctrl + C]でパスをコピーできます。 新規フォルダの作成(Ctrl + Shift + N) 3つのキーを同時に押すと、「新しいフォルダー」が作成できます。 「新しい」=「New」で、[Ctrl + Shift + New]と覚えておきましょう! マウス操作は不要!キーボードに手を置いた状態なので、そのままフォルダ名の入力までできるのが便利ですね。 フォルダショートカットの作成 対象のフォルダをマウスで選択し、[Shift + Ctrl]を押しながらマウスでドラッグします。 【上級編】これを知ってると一目置かれる! フォルダパスのコピー 対象フォルダを選択した状態で、Sh
お坊さんが走り回るほどに世間が忙しくなる師走。毎年の年末に感じるのが「今年も一年早かったな~」ということ。 とくに今年は、夏に家族でコロナ …
Arrayオブジェクトのmapメソッドの使い方をまとめておきます。 mapメソッドとは、Arrayオブジェクトの「反復メソッド」の1つです。 この記事では、 反復メソッドとは? mapメソッドとは? mapメソッドを使ったサンプルコード を紹介します。 Arrayオブジェクトの「反復メソッド」とは 反復(はんぷく)とは、「繰り返すこと」です。 学校のスポーツテストで「反復横跳び(はんぷくよことび)」ってありましたよね。中央線からスタートして、左右線をピョンピョンとまたぐ種目です。 いらすとやさん、さすが!画像ありました。「反復横跳び」は、左右移動をひたすら繰り返す動作をします。 これで、「反復(はんぷく)」=「繰り返す」のイメージができたと思います。 さて、GASの話に戻ります。 「反復メソッド」とは、「配列のすべての要素に対して、何らかの処理を繰り返すメソッド」です。 【解説】mapメソ
バブルソートのプログラム エクセルシートのA1セルを起点として適当な数字を入力し、マクロを実行すると、1行目の数列を小さい順に並べ替えた結果が2行目に書き込まれる仕組みです。 コードがこちらです Option Base 1 Sub VBAでバブルソート() 'ソート対象のデータ数を特定 Dim n As Long n = Cells(1, 1).End(xlToRight).Column '数列を格納する配列の準備 Dim arrNum() As Long ReDim arrNum(n) 'ソート対象の数字を配列に格納 Dim i As Long For i = 1 To n arrNum(i) = Cells(1, i) Next i Dim x As Long x = n - 1 '隣り合う数字を比較して並び替え Do While x > 0 For i = 1 To x If arr
GASを使って、スプレッドシートの「特定シート」をCSVファイルにするスクリプトを紹介します。 上図のスプレッドシートの「シート1」を、このようなCSVファイルにします。 特定シートをCSVファイルにして保存する シートをCSVファイルとしてエクスポートするメソッドってないの…?と探してみましたが、GASでは無いようです。 そこで、シートをCSVにする流れを以下にまとめてみました。順を追ってコードを作っていきます。 手っ取り早く完成コードだけ見たい!という方は【コードまとめ】シートをCSVファイルにするへジャンプしてください。 シートをCSVファイルとして保存する流れ 「シート」を「CSVファイル」にするには、下記の5処理をします。 【処理1】シートのデータ範囲を「二次元配列」で取得する 【処理2】「二次元配列」を「カンマ区切りの文字列(CSV)」にする(CSV = Comma Separ
こんにちは、GAS大好きのもり(@moripro3)です! 「Google Apps ScriptでTwitterBotを作ろう!」をシリーズでお届けしています。 このシリーズで作るのは「自分のブログからランダムな1記事を取得して、タイトルとURLを、毎日指定の時刻に自動ツイートするBot」です。 前回は、GASでTwitterに投稿する機能を作りましたね! Google Apps ScriptでTwitterに投稿するスクリプト(GAS×TwitterBot④)GoogleAppsScriptを使ってTwitterBotを作ろう!シリーズ第4回目は、Twitterアカウントとアプリの連携認証の方法・GASでTwitterに投稿するスクリプトを紹介してします!...
Sub main() Application.ScreenUpdating = False Dim objIE As InternetExplorer Set objIE = New InternetExplorer Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("list") Dim shell As Object Set shell = CreateObject("Shell.Application") 'シェルオブジェクト生成 Dim win As Object For Each win In shell.Windows '起動中のウィンドウを順番にチェック If win.Name = "Internet Explorer" Then '起動してるIEを取得 Set objIE = win Exit For End If Next
こんにちは、もりです! この記事では、スプレッドシートの「セル範囲」の文字を検索する方法を紹介します。 セル範囲の値を取得するgetValuesメソッドでは、このような「二次元配列」として取得されます。
いつも隣にITのお仕事のコーディングガイドライン【随時更新】によると、 整数はLong型で統一で問題ありません。 (中略) 最近のバージョンでは、Integer型として宣言されていても、VBAはすべての整数値をLong型に変換します。したがって、Integer変数を使用することによるパフォーマンス上の利点はなくなりました。実際、Long変数はVBAで変換する必要がないため、少し速くなる可能性があります。
指定ファイルの全シートを一括印刷するマクロ 印刷対象のファイルとは別の「新しいExcelブック」を作成し、その標準モジュールに貼り付けて使用してください。 ※用紙サイズ、縦横xページなどのレイアウト設定の処理はいれてません。 Sub 一括印刷() 'ダイアログで印刷対象ブックを開く(複数ファイル指定可) Dim FileName As Variant FileName = Application.GetOpenFilename _ ("Microsoft Excelブック,*.xls?", MultiSelect:=True) If Not IsArray(FileName) Then Exit Sub End If Dim cnt As Long '選択ファイル数のカウント cnt = UBound(FileName) Dim rc As Long '実行確認 rc = MsgBox(c
特定列の最終行を取得する方法 A列の最終行を取得する方法です。2通りあります。 列の先頭行から下方向に取得する 列の最終行から上方向に取得する //対象のシートを取得 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sample'); //①列の先頭行から下方向に取得する var lastRow1 = sheet.getRange(1, 1).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow(); Logger.log(lastRow1); //5 //②列の最終行から上方向に取得する var lastRow2 = sheet.getRange(sheet.getMaxRows(), 1).getNextDataCell(SpreadsheetApp
こんにちは、もり(@moripro3)です! 「Google Apps ScriptでTwitterBotを作ろう!」をシリーズでお届けします。 このシリーズで作るのは「自分のブログからランダムな1記事を取得して、タイトルとURLを、毎日指定の時刻に自動ツイートするBot」です。 ※GASでTwitterに投稿する機能だけを作りたい方へ この記事は連載シリーズの第4回目ですが、シリーズを全部読まなくても、第1回目の記事+この記事だけ読めば投稿機能が作れるようになっています! 第1回目の記事 → Twitter Developer申請 & APIキーの取得 この記事 → GASでTwitterに投稿するスクリプトを作る
Sub main() Application.ScreenUpdating = False Dim OpenFileName As Variant OpenFileName = Application.GetOpenFilename _ ("CSVファイル,*.csv*", MultiSelect:=True) If Not IsArray(OpenFileName) Then MsgBox "キャンセルしました。": Exit Sub End If Dim fso As FileSystemObject Set fso = New FileSystemObject Dim n As Long '選択したファイル数、処理を繰り返す For n = LBound(OpenFileName) To UBound(OpenFileName) Dim wb As Workbook Set wb =
こんな会話をオフィスでしているあなた!この記事を読んで、フォルダの大掃除をしましょう! たしかにファイルを削除すれば容量は空きますが、小さなファイルをいくら削除しても、たいした効果はありません。 たとえば、50KBのファイルを10個削除するより、1MBのファイルを1個削除したほうが空き容量が増えますよね。 (※ファイルサイズの単位の話はのちほど詳しく説明します!)
こんにちは、GAS大好きのもり(@moripro3)です! 「Google Apps ScriptでTwitterBotを作ろう!」をシリーズでお届けします。 このシリーズで作るのは「自分のブログからランダムな1記事を取得して、タイトルとURLを、毎日指定の時刻に自動ツイートするBot」です。 前回は、WordPressの既存記事の一覧をCSV出力する方法を紹介しました。 WordPressのブログ記事一覧をCSV出力する(GAS×TwitterBot②)GoogleAppsScriptを使ってTwitterBotを作ろう!シリーズ第2回目は、WordPressのブログ記事一覧をCSV出力する方法を紹介しています。...
こんにちは、GAS大好きのもり(@moripro3)です! 「Google Apps ScriptでTwitterBotを作ろう!」をシリーズでお届けします。 このシリーズを通して作るのは「自分のブログからランダムな1記事を取得して、タイトルとURLを、毎日指定の時刻に自動ツイートするBot」です 新規の記事を書いたときはもちろんツイートするけど、過去記事って忘れ去られちゃいますよね…(自分でも、こんな記事書いてたんだ~って思い出すきっかけになります) 過去記事をランダムに発信することで、新しくフォローしてくれた方にも自分の過去記事を知ってもらうことができます!
VBAでOutlook操作・下書きメールにファイルを添付する方法を紹介しています! 前回の記事では、「指定のキーワードに合致したファイル」を、下書きメールに添付するマクロを紹介しました。 【VBAでOutlook操作】複数ファイルを添付できる!下書きメールを一括作成するマクロExcelシートのデータを元に、Outlookの下書きメールを一括作成するマクロです。キーワードに一致する複数ファイルをまとめて添付できるのがポイントです ...
次のページ
このページを最初にブックマークしてみませんか?
『もりさんのプログラミング手帳』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く