C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: C#でEXCELとWORDに書き込む


(過去ログ 130 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■76895 / inTopicNo.1)  C#でEXCELとWORDに書き込む
  
□投稿者/ S.Kos (1回)-(2015/08/27(Thu) 08:48:10)

分類:[C#] 

こんにちは、みなさま。

C#からEXCEL及びWORDのファイルへ、COMを用いてデータを書き込もうとしています。

開発環境は Win8.1+VSExpress2012 for WindowsDesktop+Office2010 です。
C#のプロジェクトでは Office14.0/Excel14.0/Word14.0のObjectLibraly に参照設定しています。

EXCELファイルのRange型式で指定したセルに、WORDファイルのブックマークに、C#側から書込ます。

開発環境上で、Debug版/Release版 共に期待どうりの動作を確認した後、別環境Win7Pro+Office2010上で版の動作も確認しました。

ところが、更に別環境Win7Pro+Office2013だと、EXCELファイルへの書込は問題ないのですが、WORDファイルへは以下をメッセージして止まります。

System.Runtime.InteropServices.COMException (0x800A17EC): この選択範囲は保護されているため、編集できません。
場所 Microsoft.Office.Interop.Word.Range.set_Text(String prop)
<以下略>

EXCEL2013だとOK、WORD2013だとNG、その原因はどこにあるのでしょう?

引用返信 編集キー/
■76896 / inTopicNo.2)  Re[1]: C#でEXCELとWORDに書き込む
□投稿者/ 魔界の仮面弁士 (468回)-(2015/08/27(Thu) 08:58:40)
No76895 (S.Kos さん) に返信
> System.Runtime.InteropServices.COMException (0x800A17EC): この選択範囲は保護されているため、編集できません。
> 場所 Microsoft.Office.Interop.Word.Range.set_Text(String prop)

Word の[校閲]リボンの[保護]タブにて、編集制限がかかっている場合、
その内容を編集することはできません。先に編集制限を解除して下さい。

編集制限がかかったままだと、ユーザー操作でも書き込めませんし、VBA からでも
『この選択範囲は保護されているため、編集できません。』あるいは
『編集範囲がロックされているため、この変更はできません。』の実行時エラーとなります。


> EXCEL2013だとOK、WORD2013だとNG、その原因はどこにあるのでしょう?

Excel も同様です。対象シートあるいはセル範囲が「保護」されている場合、
.NET からでも VBA からでもユーザー操作からでも、編集作業は拒否されます。
引用返信 編集キー/
■76898 / inTopicNo.3)  Re[2]: C#でEXCELとWORDに書き込む
□投稿者/ S.Kos (2回)-(2015/08/27(Thu) 13:41:26)
ああ、魔界の仮面弁士さん、今回も又お世話になります。

> Word の[校閲]リボンの[保護]タブにて、編集制限がかかっている場合、
>
ターゲットとしているWORDファイルには、編集制限等、なにも設定していません。
不具合を生じているWORD2013上でも、このファイルが全く開けっ放し(?)であることを確認しています。

もしかして、ブックマークへの書込に、なんらかの制限が掛かっているのでしょうか?

重ねてご教示いただければ幸いです。

引用返信 編集キー/
■76912 / inTopicNo.4)  Re[3]: C#でEXCELとWORDに書き込む
□投稿者/ 魔界の仮面弁士 (471回)-(2015/08/27(Thu) 16:50:33)
No76898 (S.Kos さん) に返信
> このファイルが全く開けっ放し(?)であることを確認しています。
編集制限がかかっていなくとも、その文書が「閲覧モード」で表示されていると
同様のメッセージで拒否されますが、そうした違いはありませんか?

> もしかして、ブックマークへの書込に、なんらかの制限が掛かっているのでしょうか?
ブックマーク以外の書き込みは可能なのでしょうか?
また、特定のファイルへの書き込みではなく、新規の文書ファイルを Document.Add し、
そこに書き込んでみても失敗するのでしょうか?
引用返信 編集キー/
■76914 / inTopicNo.5)  Re[4]: C#でEXCELとWORDに書き込む
□投稿者/ S.Kos (3回)-(2015/08/27(Thu) 19:51:45)
No76912 (魔界の仮面弁士 さん) に返信
重ねてのご教示、ありがとうございます。

> 編集制限がかかっていなくとも、その文書が「閲覧モード」で表示されていると
> 同様のメッセージで拒否されますが、そうした違いはありませんか?
>
Officeにあっては、旧版で作成したファイルを新版で読み込むと、アレやコレやが生じる・・・と知っていました。
なので、事前にアチコチを彷徨って下記に辿り着き、ここに記された手順を追った「つもり」でいます。
  ↓
  http://hamachan.info/win8/word/eturan.html

> ブックマーク以外の書き込みは可能なのでしょうか?
> また、特定のファイルへの書き込みではなく、新規の文書ファイルを Document.Add し、
> そこに書き込んでみても失敗するのでしょうか?
>
これらを試す余裕がありません・・・

引用返信 編集キー/
■76930 / inTopicNo.6)  Re[5]: C#でEXCELとWORDに書き込む
□投稿者/ S.Kos (4回)-(2015/08/28(Fri) 21:24:37)
自己解決しました。

ターゲットファイルの入手先が問題でした。
表示タブで「印刷レイアウト」となっていても、そのファイルをネット(含・メール添付)から拾ったコトを、見ているようです。

ファイル→オプション→基本設定 と進み、「起動時の設定」で『電子メールの添付・・・・』のチェックを外してやると、巧く動きました。

COMオブジェクトだと動作が異なる・・・おもしろいですねぇ・・
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -