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

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

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

Windows8+Office2013でのWord置換え処理


(過去ログ 111 を表示中)

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

■65659 / inTopicNo.1)  Windows8+Office2013でのWord置換え処理
  
□投稿者/ サカモト (1回)-(2013/03/13(Wed) 14:47:02)

分類:[.NET 全般] 

Windows8+Office2013でのWord置換え処理で「このコマンドは使用できません。」エラー発生


掲題のエラーが発生しており困っています。どなたかOffice2013のWordの置換え処理をご経験された方、Office処理にお詳しい方、ご助言頂けますと幸いで御座います。

【環境】
VisualStudio 2010 VB.NET
.NET Framework 4.0

【処理】
テンプレートとしているWord(doc)、Excel(xls)を読込、中にある置換え文字(【】で挟まれた文字)をシステムのデータで置き換えて、出力する処理を行なっています。

【現象】
Windows7+Office2010環境にて行なうと、docもxlsも正常に処理されるが、Windows8+Office2013環境だと、xlsは正常だが、docは「このコマンドは使用できません。」エラーが発生し、置き換え後の出力ができません。

【参照】
以下を参照しています。
・Microsoft.Office.Core(Office.dll)
 →C:\Windows\assembly\GAC_MSIL\Office\14.0.0.0__<割愛>\Office.dll
  バージョン:2.5.0.0
・Microsoft.Office.Interop.Word(Microsoft.Office.Interop.Word.dll)
 →C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Word.dll
  バージョン:14.0.0.0

【エラー箇所】
以下のメソッドの「Replace:=Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll」部分でエラーとなります。
ちなみにdocAppは
Protected docApp As Object = Nothing
として、Objectとして宣言し、扱っております。

''' <summary>
''' 置換
''' </summary>
''' <param name="oldValue">置換される文字列。</param>
''' <param name="newValue">置換する文字列</param>
''' <remarks></remarks>
Public Sub SearchReplace(ByVal oldValue As String, ByVal newValue As String)
Try
With docApp
.Selection.Find.ClearFormatting()
.Selection.Find.Text = oldValue

.Selection.Find.Replacement.ClearFormatting()
.Selection.Find.Replacement.Text = newValue

.Selection.Find.Execute(Replace:=Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll)
End With

Catch ex As Exception
Throw ex
Finally

End Try

End Sub

−−−−−−−−−−

些細な事でもご助言頂けますと助かります。

以上、宜しくお願い致します。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -