黙々とC#

"In a mad world of VBA, only the mad are sane" 『VBAという名の狂った世界で狂っているというのなら私の気は確かだ』


Excel C# Script入門講座

Excel C# Script入門講座へようこそ!

『全てのVBAコードを生まれる前に消し去りたい。 すべての宇宙、過去と未来の全てのVBAを、この手で』 このページはExcel VBAを実務で利用されている方で、VBAに心の底から辟易しており、現代的なプログラミング言語(C#6.0)を使って、Excelファイルから分離…

オブジェクトとプロパティ、メソッド

本記事は、Excel C# Script入門講座の1記事です。 オブジェクトとプロパティ、メソッド オブジェクトとプロパティ、メソッド C# ScriptでExcelを操作するにあたっては、コード上で 操作対象とするモノ 操作内容 の2つを指定します。 前者については、Excelの…

C# Scriptの入力と実行

本記事は、Excel C# Script入門講座の1記事です。 C# Scriptの入力と実行 C# Scriptを保存するフォルダの指定 C# Scriptの新規作成 C# Scriptの編集 C# Scriptの実行 C# Scriptの入力と実行 実際にC# Scriptを入力して、実行するまでを簡単に説明します。 C#…

ExcelCSXの導入

本記事は、Excel C# Script入門講座の1記事です。 ExcelCSXの導入 インストールに必要な要件 インストール手順 最初にすべきこと ExcelCSXの導入 インストールに必要な要件 OSがWindows7 以降であること .NET Framework 4.6 がインストールされていること Ex…

オートフィルタ

本記事は、Excel C# Script入門講座の1記事です。 オートフィルタ AutoFilterメソッドの構文 AutoFilterメソッドの戻り値 AutoFilterメソッドの引数 引数Field 引数Criteria1, Criteria2 引数Operator 引数VisibleDropDown 全ての引数を省略した場合 サンプ…

ソート

本記事は、Excel C# Script入門講座の1記事です。 ソート Sortメソッドの構文 Sortメソッドの戻り値 Sortメソッドの引数 引数Key1, Key2, Key3 引数Order1, Order2, Order3 引数Type 引数Header 引数OrderCustom 引数MatchCase 引数Orientation 引数SortMeth…

連続検索

本記事は、Excel C# Script入門講座の1記事です。 検索 FindNextメソッドの構文 FindNextメソッドの引数 サンプルコード 検索 シート内で文字列を検索するは、下記記事で解説したようにRangeオブジェクトのFindメソッドを使用します。 mokumokucsharp.hatebl…

検索

本記事は、Excel C# Script入門講座の1記事です。 検索 Findメソッドの構文 Findメソッドの戻り値 Findメソッドの引数 引数After 引数LookIn 引数LookAt 引数SearchOrder 引数SearchDirection 引数MatchByte 引数SearchFormat サンプルコード 検索 シート内…

try ~ catch

本記事は、Excel C# Script入門講座の1記事です。 try ~ catch try ~ finally try ~ catch スクリプト内でエラーが発生した場合のプログラムの制御には、try ~ catch ステートメントを使用します。 try ~ catch ステートメントは、try ブロックと、それ…

goto

本記事は、Excel C# Script入門講座の1記事です。 goto goto case goto 無条件に処理を分岐させたい場合には、goto ステートメントを使用することができます。ただし、gotoステートメントを多用するとプログラムが分かりにくくなるので積極的には使わない方…

return, break

本記事は、Excel C# Script入門講座の1記事です。 return, break return break return, break return C# スクリプトの処理を途中で抜ける場合、returnステートメントを使用します。 var x = 1; return; //ここでスクリプト終了 var y = 2; //この処理は実行…

using

本記事は、Excel C# Script入門講座の1記事です。 using using usingステートメントは、IDisposableインターフェースを実装したオブジェクトを呼び出した際に、確実にDispposeメソッドが呼ばれるように保証するための簡易構文です。 #r "System.Drawing" usi…

while

本記事は、Excel C# Script入門講座の1記事です。 while while 文 do while文 while 条件により処理を繰り返したい場合、whileステートメントを使用します。 while は"while (条件式)"の形式で条件を指定します。条件式がtrueの間、処理が実行されます。 従…

for

本記事は、Excel C# Script入門講座の1記事です。 for for 条件により同じ処理を繰り返したい場合(反復処理を行いたい場合)には、forステートメントが利用できます。 for(初期化式; 条件式; 更新式) { //反復処理 } 下記の例では、まず変数iに1が代入され(…

switch

本記事は、Excel C# Script入門講座の1記事です。 switch case フォールスルー禁止の原則 フォールスルー禁止の例外 switch case 複数の条件により処理を分岐させたい場合はswitchステートメントを使用します。 switchステートメントには、1つ以上のswitch…

if ~ else

本記事は、Excel C# Script入門講座の1記事です。 if ~ else 関係演算子と等値演算子 型検査演算子 論理演算子 単項演算子 if ~ else 条件により処理を分岐させたい場合は、if ~ else ステートメントを使用します。 ifは、"if (condition)" の形式で条件…

コレクション(配列・リスト)

本記事は、Excel C# Script入門講座の1記事です。 コレクション(配列・リスト) 配列 リスト コレクション(配列・リスト) 配列 配列とは、一つの変数に対して複数の同じ型のデータを格納する場合に使用します。 配列は、以下のようにして宣言することが出…

変数のスコープ

本記事は、Excel C# Script入門講座の1記事です。 変数のスコープ 変数のスコープ C# スクリプトにおいてクラス、メソッドで囲むこと無く直接宣言された変数は、publicな変数となり、スクリプトのいかなる箇所からでも参照可能となります。なお、static変数…

アクセス修飾子

本記事は、Excel C# Script入門講座の1記事です。 アクセス修飾子 アクセス修飾子 C# Scriptでは、直接記載したメソッドやクラスのアクセス修飾子は、明示しなかった場合 publicとなります。 すなわち、#load で他のスクリプトファイル(*.csx)を読み込んだ際…

メソッド、クラスの宣言

本記事は、Excel C# Script入門講座の1記事です。 メソッド、クラスの宣言 拡張メソッドの宣言 メソッド、クラスの宣言 C# Scriptでは、メソッドの定義を直接書き始めることが可能です。 test(); void test(){ var a1 = Excel.ActiveWorkbook.ActiveSheet.Ra…

演算子と計算

本記事は、Excel C# Script入門講座の1記事です。 演算子と計算 算術演算子 インクリメント、デクリメント 演算子と計算 計算を行うには、演算子を用います。算術計算を行うにあたっては、演算子の中の「算術演算子」を用います。 演算結果を変数に代入する…

変数の型(クラス)

本記事は、Excel C# Script入門講座の1記事です。 変数の型(クラス) 数値を代入できる変数を宣言する場合 サンプルコード 文字列を代入できる変数を宣言する場合 サンプルコード 日付・時刻を代入できる変数を宣言する場合 オブジェクトを代入できる変数を…

変数

本記事は、Excel C# Script入門講座の1記事です。 変数 変数 変数は、数値や文字列、オブジェクトを一時的に格納する入れものです。 スクリプト内で変数を利用する際は、まず、変数を宣言します。変数の宣言は、 利用したい変数のクラス名 変数名 のように行…

日付・時間

本記事は、Excel C# Script入門講座の1記事です。 日付・時間 現在の日付・時間 年・月・日・時・分・秒の取得 日付の加算・減算 日付・時間 日付時刻を扱うためのDateTimeオブジェクトを利用するには using System; の宣言を追加する必要あり。 現在の日付…

文字列操作

本記事は、Excel C# Script入門講座の1記事です。 文字列操作 文字列の置換 文字列の文字数 部分文字列の取得 特定の文字/文字列の位置の取得 文字列操作 文字列の置換 var str = "No VBA, No Life."; var replacedStr = str.Replace("VBA","C#"); 文字列の…

ファイル/フォルダの操作

本記事は、Excel C# Script入門講座の1記事です。 ファイル/フォルダの操作 ファイル操作 ファイルのコピー ファイルの削除 ファイルが存在するかの確認 ファイルの移動・名前の変更 フォルダ操作 フォルダの作成 フォルダの削除 フォルダの移動・名前の変更…

ファイルの入出力

本記事は、Excel C# Script入門講座の1記事です。 ファイルの入出力 ファイルの読み出し ファイルの書き出し ファイルの追記 ファイルの入出力 ファイル(特にテキストファイル)を読み書きしたい場合には、System.IO名前空間のFileクラス.aspx)を利用します。…

ワークブックの保存

本記事は、Excel C# Script入門講座の1記事です。 ワークブックの保存 SaveAsメソッドの構文 SaveAsメソッドの引数 Filename引数について FileFormat引数について Password引数について WriteResPassword引数について サンプルコード ワークブックの保存 ワ…

ワークブックを閉じる

本記事は、Excel C# Script入門講座の1記事です。 ワークブックを閉じる Closeメソッドの構文 Closeメソッドの引数 SaveChanges引数について RouteWorkbook引数について 注意 サンプルコード ワークブックを閉じる ワークブックを閉じるには、Workbookオブジ…

ExcelCSXの決まりごと

本記事は、Excel C# Script入門講座の1記事です。 ExcelCSXの決まりごと スクリプトの実行 デフォルトの参照・using ExcelCSXを実行中のExcelアプリケーションへのアクセス #loadによる別スクリプトのロードについて ExcelCSXの決まりごと ExcelCSXでC# Scri…

ワークブックを開く

本記事は、Excel C# Script入門講座の1記事です。 ワークブックを開く Openメソッドの構文 Openメソッドの主な引数 サンプルコード ワークブックを開く 既存のワークブックを開くには、WorkbooksオブジェクトのOpenメソッドを使用します。引数によって、新し…

ワークブックの作成

本記事は、Excel C# Script入門講座の1記事です。 ワークブックの作成 Addメソッドの構文 Addメソッドの引数 ファイル名を指定した場合 指定可能な定数 引数を省略した場合 サンプルコード ワークブックの作成 ワークブックの作成には、Workbooksオブジェク…

ダイアログ

本記事は、Excel C# Script入門講座の1記事です。 ダイアログ MessageBox InputBoxダイアログ ダイアログ ユーザーになんらかの情報を提示したい場合や、ユーザーからのフィードバックを得たい場合には、ダイアログを表示するという選択肢があります。 Messa…

ワークシートの削除

本記事は、Excel C# Script入門講座の1記事です。 ワークシートの削除 Deleteメソッドの戻り値 注意 サンプルコード ワークシートの削除 ワークシートの削除には、WorksheetオブジェクトのDeleteメソッドを使用します。 Deleteメソッドの戻り値 このメソッド…

ワークシートのコピー

本記事は、Excel C# Script入門講座の1記事です。 ワークシートのコピー Copyメソッドの構文 Copyメソッドの引数 注意 サンプルコード ワークシートのコピー ワークシートのコピーには、WorksheetオブジェクトのCopyメソッドを使用します。このメソッドは引…

よく使うC#の機能

本記事は、Excel C# Script入門講座の1記事です。 よく使うC#の機能 var (C#3~), dynamic (C#4~) 名前付き引数 (C#4~) 文字列挿入 (C#6~) 自動プロパティ×初期化子 (C#6~) 関数の簡易文法(C#6~) よく使うC#の機能 ExcelCSXでC# Scriptを書くに当たり、…

ワークシートの移動

本記事は、Excel C# Script入門講座の1記事です。 ワークシートの移動 Moveメソッドの構文 Moveメソッドの引数 注意 サンプルコード ワークシートの移動 ワークシートの移動には、WorksheetオブジェクトのMoveメソッドを使用します。このメソッドは引数で、…

最終行と最終列の取得

本記事は、Excel C# Script入門講座の1記事です。 最終行と最終列の取得 サンプルコード 最終行と最終列の取得 使われた(何らかのデータ入力がなされた)セルの最終行と最終列の取得には、WorksheetオブジェクトのUsedRange プロパティを使用します。 UsedRan…

ワークシートの名前の変更

本記事は、Excel C# Script入門講座の1記事です。 ワークシートの名前の変更 サンプルコード ワークシートの名前の変更 ワークシートの名前の変更には、WorksheetオブジェクトのNameプロパティを使用します。このプロパティは読み書き両方が可能です。 サン…

ワークシートの追加

本記事は、Excel C# Script入門講座の1記事です。 ワークシートの追加 Addメソッドの構文 Addメソッドの引数 Before, Afterを省略した場合 引数Typeについて サンプルコード ワークシートの追加 ワークシートの追加には、WorksheetsオブジェクトのAddメソッ…

セルの範囲の切り取り&貼り付け

本記事は、Excel C# Script入門講座の1記事です。 セルの範囲の切り取り&貼り付け Cutメソッドの構文 引数 サンプルコード セルの範囲の切り取り&貼り付け セルの範囲を切り取って、別のところに貼り付けるには、RangeオブジェクトのCutメソッドを使用します…

セルの範囲のコピー&貼り付け

本記事は、Excel C# Script入門講座の1記事です。 セルの範囲のコピー&貼り付け Copyメソッドの構文 引数 サンプルコード セルの範囲のコピー&貼り付け セルの範囲をコピーし、別の場所に貼り付けには、RangeオブジェクトのCopyメソッドを使用します。貼り付…

セルの挿入(範囲・行・列)

本記事は、Excel C# Script入門講座の1記事です。 セルの挿入(範囲・行・列) Insertメソッドの構文 Insertメソッドの引数 Shiftについて CopyOriginについて サンプルコード セルの挿入(範囲・行・列) セルの挿入にはRangeオブジェクトのInsertメソッドを使…

セルのクリア

本記事は、Excel C# Script入門講座の1記事です。 セルのクリア サンプルコード ClearOutlineメソッドの怪 セルのクリア Rangeオブジェクトには「セルに含まれる情報をクリアするための」メソッドが目的に応じ各種用意されています。 メソッド名 概要 Clear …

セルの削除(範囲・行・列)

本記事は、Excel C# Script入門講座の1記事です。 セルの削除(範囲・行・列) Deleteメソッドの構文 Deleteメソッドの引数 サンプルコード ExcelCSXでの注意点 セルの削除(範囲・行・列) セルの削除にはDeleteメソッドを使用します。引数により削除後のセルの…

列の指定

本記事は、Excel C# Script入門講座の1記事です。 列の指定 列の指定 セル範囲の列の指定には、RangeオブジェクトのEntireColumn プロパティを使用します。 EntireColumnプロパティは、指定されたセル範囲に含まれる列 全体を表すRangeオブジェクトを返しま…

行の指定

本記事は、Excel C# Script入門講座の1記事です。 行の指定 行の指定 セル範囲の行の指定には、RangeオブジェクトのEntireRowプロパティを使用します。 EntireRowプロパティは、指定されたセル範囲を含む行全体を表すRangeオブジェクトを返します。 以下の例…

セル範囲の指定

本記事は、Excel C# Script入門講座の1記事です。 セル範囲の指定 セル範囲の指定 セル範囲(複数のセル)を指定する方法には、前回説明したようにRangeプロパティを使用する方法とCellsプロパティを使用する方法とがあります。 RangeプロパティとCellsプロパ…

セルの指定とプロパティセット

本記事は、Excel C# Script入門講座の1記事です。 セルの指定 VBAとの相違点 RangeプロパティとCellsプロパティの相違点 ワークシートの指定 アクティブシートの切り替え セルのプロパティ RowHeightとHeight、ColumnWidthとWidthの相違点 セルの指定 スクリ…