見出し画像

[LotusScript]ノーツからエクセルを操作しよう

はじめに

 ノーツ(Notes)からエクセル(Excel)を操作できます。ノーツのデータをもとにエクセルの表やグラフを作れるようになるとできることがひろがります。
 今回はエクセルファイルの新規作成からはじめて、セルへ値を書いたり、チェックボックスの状態を確認するところまでやってみましょう。いくつかのサンプルコードを掲載しますので、ホットスポットボタンやエージェントに貼り付けて動かしてみてください。
 実用的なコードにするために必要なエラー処理の方法は最後のほうで記載します。色々なひとに使ってもらうプログラムは、エラーが発生したときの被害を最小にするようにしてあると使い勝手が良いです。サンプルコードでは、エラーが発生した部分や、これを呼び出した部分や、エラーが発生した行や、エラー番号、もちろんエラーメッセージも出力します。
 ちょっと長い記事になってしまいました。

 今回の記事とは反対に、エクセル(Excel)からノーツ(Notes)へアクセスする記事はこちらになります。

注意事項

 ノーツがエクセルを操作します。コードを実行してもエクセルが開いてきませんが、コード実行中に人がエクセルを開くと、コードがエクセルを操作している様を見ることができるとおもいます。
 マイクロソフトのOLE (Object Linking and Embedding)という技術を使いますので、パソコンにノーツクライアントとエクセルをあらかじめインストールしておく必要があります。


エクセルファイルを作成

 まずはノーツから新しいエクセル(*.XLSX)ファイルを作るところから始めましょう。
 使うサンプルコードはこちらです。

Dim アプリ As Variant
Dim ファイル As Variant
Dim シェル As Variant
Dim フォルダ名 As String
Set アプリ = CreateObject ({Excel.Application})
Set シェル = CreateObject ({WScript.Shell})
フォルダ名 = シェル.SpecialFolders ({MyDocuments})

Set ファイル = アプリ.Workbooks.Add ()
Call ファイル.SaveAs (フォルダ名 + {\ノーツから作ったエクセルファイル.xlsx})

Call アプリ.Quit ()

 ノーツの文書にホットスポットボタンを作成し、『Click』イベントにサンプルコードを貼り付けます。

ホットスポットボタンを作成

 作ったホットスポットボタンを押すと、ドキュメントフォルダに『ノーツから作ったエクセルファイル.xlsx』が出来上がります。

ノーツから作ったエクセルファイル.xlsx

 このサンプルコードでは、ユーザーが自由に決められる部分を日本語で書きました。ノーツはノーツユニコードというもので多言語対応されていますので、コードに日本語を含めることができます。もちろん、日本語環境だけでなく英語環境でも正しく動作します。

 次からワークシートの操作、セルの処理、チェックボックスの状態取得、エラー処理へと進みます。
 この記事の末尾に、ここで使用したホットスポットボタンを含むnsfファイルを添付します。ファイルは最後までご覧になったひとだけがダウンロードできます。コードは Microsoft 365・HCL Notes V12・Windows 11 の組み合わせで試しています。

 ノーツからエクセルを操作するプログラムが書けると、エクセルを使ってグラフを表示できたり、添付ファイルが正しいことを確認できたりします。
 noteにご登録されてからこの記事をご購入いただくと、この記事が更新されたときに通知され、追加料金なしで閲覧できるようになります。まずはnoteにご登録されることをお勧めします。

ここから先は

6,264字 / 6画像 / 1ファイル

¥ 2,200

この記事が参加している募集

仕事について話そう

サポートいただければ、記事をもっと充実することができます