
今までこんなソフトウェアあったらいいのになと思った事はありませんか?実際に探して見付かれば良いのですが、見付からなかった時はガッカリですよね。また、もっとこのソフトはこんな機能があればいいのにとか、こんな仕様にしてほしいとか思う事もありますよね。だったら欲しいソフトウェアは自分で作ってしまおうというのがこの記事の趣旨となります。勿論一切プログラミングの勉強は無し、タイトルにある通り全てAIにプラグラムのコードを書かせて、それをコピー&ペースト(以下コピペ)だけでWindows用デスクトップアプリ、もしくはソフトウェアを作ります!
さて、まずAIでどこまで出来るかについて筆者が現時点で分かっている事を先に書いておきます。かなり前からAIでアプリを作るというネタは各所で見ますが、その作成例が大体Webブラウザ上で動作するWebアプリだったりしますよね。そこら辺は時代や需要の関係もあるのでしょうが、一般的なWindows用のソフトウェアを作る事も勿論可能です。但しAIが全操作を行いソフトの完成品を渡してくれる訳では無いので、コードはAIが提示した物のコピペでいけてもある程度の操作は自身で行う必要があります。
また、AIが全て思い通りのプログラムコードを書いてくれる訳ではありません。新しく機能を追加したら少し前に実装した機能が消えてるとか、勝手に仕様を作り変えてるとか、提示されたコードをそのままコピペしたらエラーが出るとか、エラーを指示通り修正したらもっと多くのエラーが出るなんて事が頻繁にありました。筆者と同様にプログラミング知識0の状態ならYouTubeでよく見るような「AIでアプリが簡単に10分で作れる」といった事は期待しない方が良いです。また、当然ながらいくらコピペでも複雑過ぎる物はコードの量も膨大になり各所でエラーが出た時に収拾が付かなくなるので、プログラミング知識0で作れるソフトの限界は比較的簡易的な機能の物に限られると思った方が良いでしょう。
筆者が実際に作ろうとした物はj-calendarの現代版です。j-calendarと聞いても知らない方も多いと思いますが、かなり古くから存在したデスクトップ用カレンダーソフトで、最終版から既に15年近く経ち、作者サイトも消滅していますが現在もWindows 11や10で安定して動作する優秀なソフトです。標準で縦に3ヶ月分が半透明で表示されますが、設定でフォントや配色を変えて自分好みに表示をカスタマイズする事が出来ます。他に日本の祝日対応と簡易スケジュール機能が備わっており、現在でも筆者が知る限りでは最も優秀なデスクトップカレンダーです。

筆者は今現在もj-calendarを使用していますがインストーラ型なのと一部の祝日に対応出来ていない(手動編集で対応は可能)部分に不満があったので、その不満を解消したj-calendarの現代版を目標にAIにコードを提示してもらいソフトの作成に取り掛かりました。結果、約3日ほどで目標にしていた所まで完成しています。まだ公開するほどの完成度ではありませんが、細かく表示をカスタマイズ出来る機能や祝日のデータをボタン一つで内閣府のサイトからダウンロードしてカレンダー表示に反映させる機能、簡易スケジュール機能、ホイール回転で月めくりといった機能を実装出来ました。因みにj-calendarについては配布自由なソフトウェアなので下のリンクからダウンロード出来るようにしておきます。
Visual Studio Communityでソフトを作る
ソフトウェアを作るにあたって、最初に何のプログラミング言語を使用するかという問題がありますが、直接自分でコードを書くわけでは無いので正直何でも良いというのが本音。結局筆者は動作が速いという理由でC++という言語で作る事になりましたが、時代遅れといった評判もあります。また、AIにコードを書いてもらう都合上、AIが得意とする言語を選ぶのがベストかもしれません。その場合、Pythonという言語を選択する事になりますが、常駐型のソフトには向かないそうです。
それらを踏まえた上でAIに提示してもらったコードを1つのソフトウェアという形にする為に、Visual Studioという統合開発環境ソフトを使用しますが、その中でも個人や教育機関向けに無料で公開されているVisual Studio Communityをダウンロードしてインストールしていきます。Visual Studio CommunityはC++やC#、Pythonといったプログラミング言語をサポートしています。
まずはMicrosoftのVisual Studio Communityのページからインストーラをダウンロードします。

インストーラを実行するとユーザーアカウント制御画面で一旦ブロックされるかもしれませんが、その場合は「はい」で許可。インストーラ画面が表示されるので「続行」で進めます。

インストール途中でインストールする項目の選択画面が表示されます。必要なものにチェックを入れて画面右下にある「インストール」で進めます。筆者は最小限に抑えたかったので「C++によるデスクトップ開発」にだけチェックを入れて進めましたが、それでも10GB以上必要となります。

インストールが完了するとVisual Studio Installerが起動します。インストールが終わってインストーラが起動するというのも変な感じはしますが、メニューの「変更」から再び上の画面を表示して新たに機能を追加インストールする事も可能です。「起動」を選択すればVisual Studio Communityが起動します。

Visual Studioへのサインイン画面が表示されますが、同期や共同作業を使用しない場合は必須ではありません。筆者はうっかりサインインしましたが、最下部の「スキップして…」でサインインせずに進めます。

Visual Studio Communityについては一旦ここで終了します。
AIにコードを書いてもらおう
まずどのAIを使うかという所から考えます。最も身近な所としてはWindowsに標準でインストールされているMicrosoft Copilotがありますが、結論としてはお勧めしません。下の画像の矢印で示した部分など時折コピペし難い(出来なくはない)文字を使って指示を出してくるので、コピペ主体で作業している筆者としてはとてつもなく面倒でした。

定番としてはChatGPTがあります。筆者は当初Web版を使用していましたがチャットのページがかなり長くなるとブラウザがクラッシュするほど重くなるので、現在はデスクトップアプリ版を使用しています。こちらも長いコードを頻繁に書いてもらえばその分だけチャットページも長くなるので動作が遅くなる事もありますがWeb版よりは快適に使用出来ます。

使用するAIが決まればC++でWindows用の〇〇を作りたいといった具合に相談すればどんどん細かな仕様を対話形式で煮詰めていってくれるので、それに対応していくとコードを提示してくれます。因みにコードが長くなると部分的なコードしか提示してくれなくなる事もありますが、「フルコードで提示して」とお願いすればフルコードで出してくれますし、作りかけのコードを貼り付けて「修正して提示して」といった具合にお願いすると修正されたコードをそのまま提示してくれます。

コツとしては分からない部分があればどんどん聞く事。何かおかしいと思ったらどんどん指摘するというのが重要。初期の方で提示されるコードは欠陥だらけなので、実際に細かく動作を確認して正確に問題を伝えるのが重要となってきます。
Visual Studio Communityを操作
再びVisual Studio Communityに戻ります。AIにコードを提示してもらったら「新しいプロジェクトの作成」から作成していきます。

ここからはAIに「Visual Studio Communityで作成するので操作を指示して下さい」とお願いするのが確実。C++の場合、通常は「Windowsデスクトップアプリケーション」へ進む事を指示されます。

AIにプロジェクト名なども指示される筈なのでそれに合わせて名前を付けます。場所は任意ですが初期状態だと深い階層に作られるので筆者はもう少し上の階層に変更しています。「ソリューションとプロジェクトを同じ…」も任意ですが極力関連ファイルを纏めたいのでチェックを入れています。

編集画面に辿り着いて最初にAIに指示されるのが〇〇.cppを作れといった内容だと思います。その場合は左のソリューションエクスプローラで「ソースファイル」の部分を右クリックして「追加」から「新しい項目」と進みます。

〇〇.cppを追加する場合は表示された画面のままで良いのですが、〇〇.hのヘッダーファイルを追加など色々と必要となってくるので「すべてのテンプレートの表示」を開きます。

すべてのテンプレートが表示された画面では最初の画面に.cppのC++ファイルや.hのヘッダーファイルのメニューがありますが、.rcのリソースファイルは左メニューのリソースに切り替えてから追加します。

後はAIの指示に従ってコードを貼り付けていく作業となります。ただ注意点として.rcのリソースファイルだけ特殊で下部に「プレビューサポートしていません」と表示されます。実際にクリックしても画面内の表示が変わらないので右クリックして「コードの表示」を選択。これによりリソースファイルのコードの編集が行えます。編集の度に毎回行うのがちょっと面倒。

AIはいきなり完成されたコードを提示してくれる事はまずありません。少しずつ段階的に作り上げていく事になりますが、時折動作を確認する為に上部メニューの「ビルド」にある「ソリューションのビルド」を使います。これで一旦ビルドして作りかけのソフトの動作を確認出来ます。

エラーが無くビルドに成功したら実行ボタンから実行。因みにプロジェクトのフォルダ内を「x64」「Debug」と辿っていくとビルドされたプログラムがあるので、直接.exeファイルを実行して起動させる事も出来ます。またプログラムが完成した場合は、上部にあるメニューを「Debug」から「Release」に切り替えて「ソリューションのビルド」で完成品として保存出来ます。

「Release」で「ソリューションのビルド」を行い保存した場合はプロジェクトのフォルダ内の「x64」「Release」フォルダ内にプログラムが保存されています。
AIと共に作ったデスクトップカレンダーソフト
最後に自作?と言えるのかは怪しいですがAIにコードを提示してもらい、コピペだけで作成した筆者のデスクトップカレンダーソフトをちょっとだけお披露目します。実はこの記事を書いている時に日付が変わったのですが、日付が変わっても今日の日付の表示が変化しないバグが見付かりました。恐らく月が変わっても再起動するまで表示が変わらないと思われます。

他、設定画面のUIとかもかなり古さを感じさせる所はありますが、バグを取り除いて正常動作するようになれば実用性は高いんじゃないかと自賛しております。いつか堂々と配布出来る日がくれば良いなと思いながら、再びChatGPTにバグの件を相談してきます。因みにカレンダー内で使用しているフォントはhooge 05_55という物です。
コメント