Amexcellは、Excel関数を組み合わせてプログラムを組むためのプログラム言語です。
Excelは、様々な場面で使われています。データの集計はもちろんのこと、Excel方眼紙のような多少強引な使われ方もしてきました。しかしVBAを用いて作られたゲームやアプリケーションを開いたとき「セキュリティの警告」のメッセージバーが表示されてしまいます。ユーザーは、Excel VBAを使って作られたファイルを開くとき、危険な操作ができるVBAを有効化してしまうのか、それとも完全にVBAを無効化するのか、その二択しか残されていないのです。
ソースコードの閲覧が制限されている場合もありますから、ユーザーは安全性を犠牲にしながらこれらのファイルを開くしかない、それが現状でした。
Amexcell 言語ではVBAを使いませんから、ユーザーはセキュリティを犠牲にすることなく Amexcell 言語を使って作られたアプリケーションを動かすことができます。ユーザーは(Excelに脆弱性がない限り)安全であることを確信してファイルを開くことができるようになるのです。
Amexcell 言語により、以下のことが可能となります。(未実装の機能を含みます)
テキストファイルからのワークシートの作成
Excel関数プログラミングは、プログラミング環境がExcelしかなく、ソースコードがExcelファイルであるという都合上、Gitなどを用いたバージョン管理は不可能だと考えられてきました。
しかし Amexcell 言語は、テキスト形式で記述する言語であり、最終的にExcelワークシートにコンパイルされる言語ですから、既存のプログラミング支援ツールを利用することが可能となります。
命令型プログラミング
Excel関数を用いてプログラムを組むとき、セルの再計算が自動的に行われる、などの特性から、データフロー指向のプログラミングを強いられてきました。
Amexcell 言語を使うことで、変数への代入が随時実行されていく命令型のプログラミングが可能となります。Excel関数プログラミングを行うために必要な学習量が大幅に減り、一般的な言語でのプログラミング経験のある人であれば簡単にExcel関数プログラミングを始めることができるようになります。
このプログラムは 開発中 です。
どうか、気長にお待ちください。
Done
この開始画面が表示されるWIP.
Amexcell言語のパーサーが完成する----
Excelワークシートとして出力できる----
Excelでの実行をシミュレートできる----
複数回代入ができる----
条件分岐がかける----
関数呼び出しができる(コールスタックがある)----
ループがかける----
命令型プログラミングができるThe MIT License Copyright (c) 2019 omasakun (https://github.com/omasakun) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The MIT License (MIT) Copyright © 2016 Filipe Linhares Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.