Windows8+Office2013でのWord置換え処理で「このコマンドは使用できません。」エラー発生
- 題名: Windows8+Office2013でのWord置換え処理で「このコマンドは使用できません。」エラー発生
- 著者: サカモト
- 日時: 2013/03/10 19:06:33
- ID: 31389
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: 【報告】この投稿はマルチポストです
- 著者: (報告)
- 日時: 2013/03/13 15:34:10
- ID: 31403
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: 【注意】マルチポスト先への投稿はいたずらの可能性があります
- 著者: 管理人
- 日時: 2013/03/14 5:15:50
- ID: 31414
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 【注意】マルチポスト先への投稿はいたずらの可能性があります
- 著者: サカモト
- 日時: 2013/03/15 16:04:18
- ID: 31419
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 【注意】マルチポスト先への投稿はいたずらの可能性があります
- 著者: サカモト
- 日時: 2013/03/26 18:06:29
- ID: 31425
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: 【注意】マルチポスト先への投稿はいたずらの可能性があります
- 著者: しろう
- 日時: 2013/03/26 23:55:28
- ID: 31427
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: 【注意】マルチポスト先への投稿はいたずらの可能性があります
- 著者: shu
- 日時: 2013/03/27 9:03:16
- ID: 31428
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: 【注意】マルチポスト先への投稿はいたずらの可能性があります
- 著者: しろう
- 日時: 2013/03/31 5:54:47
- ID: 31435
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.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
−−−−−−−−−−
些細な事でもご助言頂けますと助かります。
以上、宜しくお願い致します。