• 締切済み

ワードファイルの一括置換プログラム

キーワード(80種類程)が含まれたワードファイル(10ページ程度)と、 キーワード(1行目)とそれに対応した文字列(2行目以降)が書かれたエクセルファイル(400行程)があります。 たとえば10行目が指定された場合、10行目に書かれた文字列に置換したワードファイルを作るプログラムを作りたいです。どうやって作ればよいのか、アドバイスお願いします。 1)C言語で、 ワードファイルの文字列置換コマンドができる関数 replace() エクセルファイルのセルの文字列を取得する関数 str() があれば、プログラムは以下のようになりますが、これらの関数が見つかりません。 2)エクセルやワードのマクロで何とかなるのかも知れませんが、エクセルファイルは自分の物ではないので参照するだけで書き込みはしたくありません。 3)C#であれば、今回ほしいreplace() 関数が作れそうな記事は見つかりました。 http://mutatsu.blog.fc2.com/blog-entry-25.html でも、ややこしくてよくわかりません。Cの関数でないのでしょうか? ーーー ワードファイルA エクセルファイルB char str1[BUFSIZE],str2[BUFSIZE]; int x,y,table1; while( (str1 = str(B, table1, x, y0)) != NULL) {  str2 = str(B, table1, x, y);  if(str2 != NULL) {   replace(A, str1, str2);  }  x++; }

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

>それは理解しています。だから、 >  ワードのファイルのテキスト部分を > テキストファイルを扱うように文字列置換を行うだけの、ワードファイル用の関数replace() >がないのか、お聞きしているのです。 少なくともCの標準関数としてはありません。 どこかの誰かが作ってる可能性もありますが少なくとも私は聞いたことありません(.NET使う方が楽だから可能性はかなり低いと思うけど)。

iruiru298
質問者

お礼

>どこかの誰かが作ってる可能性もありますが少なくとも私は聞いたことありません(.NET使う方が楽だから可能性はかなり低いと思うけど)。 やはりそうですか。 どこかの誰かが作ってるかもと思い、質問しましたが、無いようですね。 ありがとうございました。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>でも、ややこしくてよくわかりません。Cの関数でないのでしょうか? C#というか.NETでややこしいというのでしたら、Cでやるのはもっとややこしいですよ。 ワードのファイルにしろエクセルのファイルにしろ、ただのテキストファイルじゃありませんから。

iruiru298
質問者

お礼

回答ありがとうございます。 >ワードのファイルにしろエクセルのファイルにしろ、ただのテキストファイルじゃありませんから。 それは理解しています。だから、  ワードのファイルのテキスト部分を  テキストファイルを扱うように文字列置換を行うだけの、ワードファイル用の関数replace() がないのか、お聞きしているのです。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

ExcelのVBAで処理するのが賢いと思います。 > エクセルファイルは自分の物ではないので参照するだけで書き込みはしたくありません。 であれば、マクロ実行するための質問者さん用のExcelファイル作っては。 保存するWordのファイル名、対象の行番号とか、何らかの方法で指定する必要はあるんだし。 対象のWordファイルは、作りたいWordファイルの元ネタって事ですから、テンプレート(*.dot, *.dotx)として保存しとくと便利だと思います。 下記のQ&Aやサイトの説明の内容は質問の話に近いと思うので、参考になると思います。 excel VBAを利用し、テンプレートとなるワードファイルの一部分を - オフィス系ソフト - 教えて!goo http://okwave.jp/qa/q5989414.html VBAのお勉強 Excelマクロから、Wordの操作 » simple blog http://www.simple-sys.com/blog/2008/03/29/172/

iruiru298
質問者

お礼

回答ありがとうございます。 ExcelのVBAですか。 紹介くださったページ拝見しました。 確かに、エクセルのデータを頼りに、ワードの置換コマンドを出しまくれば希望した処理になりますね。 ありがとうございます。 できたら、エクセルとワードファイルは読み込みだけで行いたいので、  2つのファイルを指定して、  キーワード行と置換文字列行を指定すると  ワードファイルが出力される という独立したプログラムも、引き続き検討したいです。

関連するQ&A