
↑これはキャッチアイコンです笑
✅ 2025年、X(旧Twitter)とYouTubeで話題沸騰
2025年、X(旧Twitter)とYouTubeで突如話題となった「Microsoft ExcelでLinuxを操作する」という衝撃的なプロジェクト。
ことの発端は、エンジニアのNSG650氏がX上で投稿したある一枚の画像でした。
その投稿に刺激を受けたEnderman氏が、NSG650氏の公開したソースコードを基にプロジェクトを引き継ぎ、
なんと実際に動作するExcel上のLinux環境を完成させてしまったのです!
■ プロジェクトの概要
Enderman氏は、NSG650氏が公開していたコードを自ら精査・改良し、チップ(寄付)も行った上でプロジェクトを継続。
YouTube上でその成果を公開しました。
操作方法は非常にシンプルで、
- A列にはLinuxのログが流れ、
- C2セルにコマンドを入力することで実行できます。
⚠ 現時点での課題
Enderman氏によると、まだいくつかの課題が残っているそうです。
現在の制限事項:
- Vimの操作に制限あり:
通常は Esc キーでモードを切り替えますが、現状は実装されていないとのこと(対応の余地あり)。 - 複数行のコマンドが実行できない:
1行単位でしか入力を受け付けない仕様。 - ASCIIエスケープシーケンスの問題:
内部的な処理で対応しきれていない部分があるとのことで、今後の改良が期待されます。
■ Enderman氏のコメント
Enderman氏は、動画内で次のように語っています:
「このプロジェクトはNSG650氏の公開がなければ実現しなかった。
本当に感謝しているし、ぜひ彼の活動もチェックしてみてほしい」
開発者同士のリスペクトが感じられるやり取りにも、ネット上では称賛の声が集まっています。
■ ダウンロード情報
今回のExcelファイル(.xlsm)およびDLLファイルは、Enderman氏のYouTube動画の概要欄からダウンロード可能です。
興味がある方は、ぜひ一度試してみてください!
■ 最後に:VBAソースコードを見てみた
筆者自身も、VBAコードを実際に覗いてみました。
驚いたのは、中身がとても簡素に作られていたことです。
もっと複雑な処理が行われていると思いきや、意外とシンプルな構造で、
工夫次第ではさらに拡張も可能と感じました。
興味のある方は、コードもぜひ覗いてみてください。
「Excel × Linux」というまさかの組み合わせ、あなたも触ってみたら驚くはずです。
まず初めにファイルを開くと自動的にコードが流れるようになっており、moduleにあるRunLinuxを実行させます。
moduleでは関数の宣言と実行環境がWindowsとMac対応のSleep関数の宣言が記載しており、
VBAでRISC-Vエミュレータ(mini_rv32ima)をDLL経由で呼び出して、Excelのセルとやりとりしています。
RunLinuxでは簡単に、
ログクリア→エミュレータ初期化(DLL内の init 関数を呼出)→メインループ→出力処理→入力処理(C2セル)→ユーザー入力待機処理
という流れとなっており、実はUserの実行環境によってMacかWindowsかで処理内容を変更しています!
Sleep実行
Macは特殊な事情でめちゃくちゃ長くなっています。(Mac側はAPIが usleep(マイクロ秒単位=1/1000ミリ秒)しかないため、大きな値を直接渡すと整数オーバーフローが起こる可能性?)
VBAで指定秒数だけ待機するための関数でCPU使用率を抑えて、Excelがフリーズしないように待つための工夫がされている
※丁寧に深夜0時をまたいだときの対策もされている!凄い。
最後にRISC-Vエミュレータの出力やログを1行ずつExcelに記録していく。A列にログが出力されていき、35行目でリセット(削除され再度下に出力)
という感じの中身でした。
ダウンロードするファイルの中に「linux.dll」もありましたが、そちらは解説しません!
気になった方は是非ダウンロードしてみてください!
■ 関連動画・引用元リンク
本動画:
▶ YouTubeで見る
NSG650氏:
https://x.com/nsg650/status/1916886746169844002
Enderman氏:
https://x.com/endermanch