ブラウザを使えない環境でC#を使いたいと思っています。Visual Studioを新たにインストールすることができませんのでメモ帳でコードを書きたいと思っています。MS Wordのファイルから文字列を取得したいと思います。Visual Studioを使うと参照の追加でMicrosoft.Office.Interop.Wordを追加すればできるようなのですが、それをメモ帳で行うにはどのようにしたらよいでしょうか?メモ帳で参照の追加を行う方法が分かれば他のプログラムにも応用できると思うのですが、他の方法でWordを操作する方法があればそちらでも構いません。そもそも「参照」が何をしているのかも分かっていませんのでそちらも教えていただけると助かります。
まず、VisualStudioを使って一般的、確実な方法で「Wordファイルの文字を取得」という目的を果たすのが先決です。それとも、それはもうできているのでしょうか。できてしまえば、その実行ファイルを動かしたいPCへ持っていけば、おおむね動きます。(動かない場合もあります)
> そもそも「参照」が何をしているのかも分かっていませんのでそちらも教えていただけると助かります。
この状況ですと、Visual Studioと言う標準の開発ツールを使わない開発方法は質問者さんにとって難航が予想されます。このようなサイトでの有識者によるサポートも受けづらくなります。
Visual Studioをインストールできないとの事ですが、Wordは入っているのですね? Wordが無いと、Microsoft.Office.Interop.Word は参照できないと思われます。
なんでこんな苦行してるんですか?
パソコン買ってください。
Wordは入っています。
ここに書き込めてるのなら、ネット繋がる環境はあるんですよね
オフラインインストーラ作成して頑張ってください
https://docs.microsoft.com/ja-jp/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2019
それでもメモ帳でやる、というのであれば、メモ帳で開発してる人は殆ど居ないと思うので、自分が先駆者になる気持ちでやってください
どの Word でも Word という名前さえついていればできるわけではありません。
Office365のMS Wordです。
それで使えない場合もあります。
職場の環境がブラウザを使えない環境で、使えるPCもあるのですが使用が限られます。あまり個人のPCと職場のPC間でUSBも使いたくないし、メールやクラウドも使えません。おそらく新たなアプリをインストールするのも許可が下りるかどうか…。そのような状況ですのでメモ帳でやれればいいのですが。また、エディタに頼らずにメモ帳でやれば何をしているのかが分かりやすいので勉強にもなるのではないかと思いました。がっつりプログラムをするわけでもないのでWordを操作する方法が分からばいいなと思って投稿しました。
たくさん if を使って場合分けしながらたくさん書くのは面倒だし、読む気も失せるでしょう。開発環境と実行環境を書く方が早いと思いますよ。
エクセルのマクロでもできるのでそちらでもいいのですが、折角だったらC#を使ってみたいと思っていました。
> おそらく新たなアプリをインストールするのも許可が下りるかどうか
これだとできません。一般に使用されている安全なソフトのインストール許可が下りない状況で、初心者の自作ソフトが使えるなどということはまずありません。
バレたとき処分を受ける可能性があります。
まず許可を取ってください。
> がっつりプログラムをするわけでもないのでWordを操作する方法が分からばいいなと思って投稿しました。
やりたいことはたぶん、質問者さんが思っている以上に大変なことです。私だったら眩暈がします。
自作ソフトについてはみんな(トップまで)知っています。なのでその心配はご無用です。ただ、C#でWordファイルの操作をしたいのです。できなければ他の方法を考えます。
Visual Studio 無しではどう逆立ちしても 100% 絶対に不可能・・・とまでは言いませんが、限りなく不可能に近い無理筋な話で、初学者らしい質問者さんの時間と労力の無駄以外の何者でもないと断言してもいいです。
C#に拘る理由は? PowerShellでもOKだし、検索したら、VBAの方がお薦めなんてのも。
がっつりでなければ、そちらの方が、情報も多いと思います。
.NET Core なら「dotnet 参照」で調べると、出てきます。COM が使えるかどうかは賭けですが、できないかもしれません。.NET Core がないなら面倒なので、自分の私用コンピューターで作ってからそれをコピペしてください。
しかし Word なら Word のマクロを使うのが手っ取り早いと思います。
Visual Studio無しという事は、csc.exeだけ? とすると、コンパイルの仕方とか、(多分、オプション指定とか、色々とあると思う) 初心者の範疇では無いと思います。それと、Word操作と言うと、C#で悩むより、Word操作の方が面倒なんで、C#の勉強になるかどうかは疑問。
Surferさんありがとうございます。それならそれでいいのです。最近、C#の勉強を始めてこれでできたらいいなと思っていたので。参照って何してるんだろうって思ったのも要因です。pepperさん、ありがとうございます。PowerShellも調べてみたいと思います。Excelでは実現できているので他の方法を勉強していました。Zuishinさん、ありがとうございます。dotnet 参照も調べてみます。
コンパイルはできるようになりました。それが正解かは分かりませんがウィンドウを表示してファイルを開くことはできました。
頑張ってください。質問者さんの努力・向学心は素晴らしいと思います。ただ、努力はそれに見合う効果が得られる方向に向けるのがよさそうです。
C#に拘らないということであれば、PowerShellでいいんじゃないですか。今なら標準で入っているし、COMも使えます。
https://buralog.jp/ms-word-powershell-read-document-out-file/
https://qiita.com/AWtnb/items/b70610f78b20adc46765
ただ、VS使わせて貰えないような環境でプログラム作ってメンテし続けられるか、他の人に引き継げるか、と言われたら無理なので、私ならそんな環境でアプリ作れと言われたら転職先探し始めますね。
このコロナ禍で外出も気の引ける中、趣味として行っている部分もあるので効果はそれほど期待していません。
radianさんありがとうございます。ここまで来るにも色々紆余曲折がありました。本業は全く別職種なので、そっちの要素も大きいです。作れと言われたわけではないので、業務の縮小につながればいいなと思ってました。
PowerShellで行けそうなので勉強してみます。ありがとうございました。
解決してるなら自己解決として回答を作成しクローズしてください
回答1件
あなたの回答
tips
プレビュー