• ベストアンサー

プログラムについて

WindowsプログラミングのC++BuilderとVisual Basicでお聞きしたいことがあります。 ExcelファイルをWordファイルに変換したいんですが、 これっていうのはプログラムで変換出来るんでしょうか? 手動でなら保存の時にテキスト形式を選べばいいんですが、かなり量が多いので時間がかかってしまいます。 いろんな参考書を見てがんばってはみたんですが、行き詰まってしまいました。 少しでもアドバイスがいただければうれしいです。 どなたか分かる人や、いいサイトがあれば教えて頂きたいです。 お願いします。

  • yaho
  • お礼率64% (116/179)

質問者が選んだベストアンサー

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.4

VBからのコントロールですが、yochiさんの回答のVBAの ようにVBから実行します Private Sub Command1_Click() Dim objExcel As Excel.Application Dim objbook As Workbook Set objExcel = CreateObject("Excel.Application") Set objbook = objExcel.Workbooks.Open("C:\TEST1.xls") objbook.Application.DisplayAlerts = False objbook.SaveAs "C:\TEST1.TXT", xlText objbook.Close False objExcel.Quit Set objbook = Nothing Set objExcel = Nothing End Sub で、C++Builderからです //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <utilcls.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- //#include <system.hpp> //#include <vcl\oleauto.hpp> void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString sExcel = "Excel.Application"; Variant excel = CreateOleObject(sExcel); //excel.OlePropertySet("Visible",-1); Variant book = excel.OlePropertyGet("Workbooks").OleFunction( "Open","C:\\TEST1.xls"); excel.OlePropertyGet("Application").OlePropertySet("DisplayAlerts",0); book.OleFunction( "SaveAs","C:\\TEST1.txt",-4158); book.OleFunction( "Close",0); book = Unassigned; excel.OleFunction( "Quit" ); excel = Unassigned; } //--------------------------------------------------------------------------- エラー処理はしてませんので、ご注意を。

yaho
質問者

お礼

プログラムは本当にありがとうございました。 やはりもっと勉強しなくてはいけませんね。 今回は本当にお世話になりました。

yaho
質問者

補足

プログラムまで書いて頂きありがとうございました。 質問なんですが、この回答っていうのはまずVisual Basicで実行してから Builderで続けて実行するんですか? それともBuilder単独でもできますか? Builderだけで実行したんですが、 [C++ エラー] sysvari.h(2583): E2451 Undefined symbol 'TAutoArgs'. [C++ エラー] sysvari.h(2583): E2451 Undefined symbol 'args'. のように、sysvari.hでエラーがかなり出ました。 難しいプログラムだったので、Formにも何を置いていいのか分かりませんでした。 出来れば教えて頂きたいです。 あと、Test1 - Test2 - Test3・・・のように一気にやるには、変換のところを ループで回してやれば出来るんですかね?

その他の回答 (3)

  • yochi
  • ベストアンサー率25% (17/66)
回答No.3

はじめまして m(_ _)m >ExcelファイルをWordファイルに変換したいんですが ExcelならVBAを使用してはいかがですか? 例えば、 ******************************************************************* Option Explicit Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\デスクトップ\Book1.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub ******************************************************************** 上記は、ExcelのBook1の内容をテキスト形式で保存するものです。これだとWordで開く事が出来ます、この他にCSV形式で保存しても同様な事が出来ますがニュアンスが間違っていればごめんなさい f(^_^;

yaho
質問者

お礼

ニュアンスは大丈夫です。あっています。 大変助かりました。ありがとうございました。 VBだけではなくて、VBAもこれから頑張ります。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.2

>量が多い 最初にファイルを選び、 そのすべてに対してExcelで開く-テキスト保存 の処理をする という方法があると思います。

yaho
質問者

お礼

すべてに対してExcelで開く、というところがちょっと分かりにくかったんですが、考えていただいて、ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

Excelデータを「コピー」して、WORDへ「貼り付け」ではだめですか?

yaho
質問者

お礼

だめってわけではないんですけどね。 ファイルがたくさんあるから、ちょっとしんどいです。

関連するQ&A

  • メモの形式(c言語)

    c言語をやる際に、メモ帳にプログラムを記述しています。 保存をするときに全てのファイルの形式を選んでいるのですが、 テキストドキュメントとなって保存されてしまいます。 どうすればcファイルとして保存できるのでしょうか? ちなみにまぐれで一度だけCファイル形式で保存できました。 お願いします。 猫でもわかるプログラミングというとこを参考にしています。

  • C++Builderでの文字化け

    C++BuilderのRichEditを使ってその内容をテキスト形式で保存したいのですが、 実際に保存されたファイルをメモ帳で見ると改行が■になって表示されてしまいます。 そのデータの内容はプログラムで RichEdit1->Text = "ほにゃらか\n"; と書くと'\n'のところがだめです。

  • 付属プログラムを引用してもエラーが起きて困っています。

    参考書に書かれてあるプログラムを書き写して練習してますが、 ビルドしたところ、参考書と同じなのにビルドエラーが起きます。 ちなみに、今参考にしているのは、 猫でも分かるゲームプログラミングです。 試しにその付属CDのプログラムを 外部ファイルの画像を描画するプログラムのcppごと まるまる移してもなぜかビルドエラーになります。 開発環境はVisual C++です。 開発環境が違えば製品についてくるプログラムでもエラーが 起きるのでしょうか? あと、猫でも分かるゲームプログラミングの他にC言語逆引き大全を持ってます。

  • プログラムで文字をBMPファイルに書き、その結果をBMPファイル形式で

    プログラムで文字をBMPファイルに書き、その結果をBMPファイル形式で保存するやり方を教えてください。 Microsoft Visual C++ 6.0を使用しています。 よろしくお願いします。

  • フリーのテキスト変換プログラムありませんか?

    WordやExelデータをテキスト変換してくれるプログラムを探しています。 出来ればライブラリ形式のもの良いのですが、EXE形式でもプログラムからコール出来るものであれば構いません。 フリーのもので何か良いものはありませんでしょうか?

  • 練習用プログラム

    VISUAL C++ .netを学習している初心者です。 他の人のプログラミングを参考にプログラミングを覚えたいのですが、何かよい本やサイトがあれば教えていただけないでしょうか? 補足 ★MFCを利用してのWindowsプログラム手法は学習しました。どういうプログラムを組みたいかによっても学習する部分の違いがあると思うのですが、まずはどんなプログラムでもいいのでおすすめのものをお願いします。

  • 何かプログラムを作りたいのですが…

    はじめまして。プログラミングを猛(?)勉強中の中一です。 ところで、今、Cを勉強してるんですが、そろそろおおずめをむかえてきたので、本に載ってるようなプログラムでは我慢できなくて、もっと大きなプログラムを作りたいという衝動がおさえきれなくなってきました。 ですが、どうやって作ればいいのかわかりません。 はじめに作りたいものは、テキストエディタなんですが、はじめは「メモ帳」レベルからはじめて、高機能なものにしていきたいとおもっています。 なので、どうやってつくればいいかを詳しく教えていただけるとうれしいです(参考になるサイトでも結構です)。 また、言語はC/C++じゃなくてもいいです(勉強しますから)。 どうかご回答をよろしくおねがいします。

  • visual c++の文字コード判別

    現在、visual studio2010のvisual C++でメモ帳をテキストボックスに表示するプログラムを作成しています。 しかし、文字コードがASCIIで保存してあるファイルを開こうとすると、文字化けが起こります。 shift-jisなどに変換しようとすると、ほかの文字コードで保存してあるファイルを開いたときに文字化けが起こります。 文字コードがASCIIのテキストファイルを開くときのみ、shift-jisなどに変換しようと思うのですが、文字コードがASCIIであるか、そうでないかを判別できる処理があれば教えていただけないでしょうか?

  • ワード・エクセルの保存形式の方法について

    ワード・エクセルの保存形式の方法について ワード・エクセルは、2003のバージョンを使用しておりますが、送り先より、2002形式以下で保存との支持があるのですが、保存方法がよく分かりません。 ワード・・・ファイルの種類(Word97-2003&6.0/95-RTF)で保存すと2002形式以下で保存になりますでしょうか?確認すると、(リッチテキスト形式RTF)になってしまっています??何故でしょうか? エクセル・・・ファイルの種類(Microsofto Excel97-Exce2003および 5.0/95ブック)で保存すれば、2002形式以下で保存されますでしょうか? よろしく、お願い致します。        

  • C++プログラムに変換

    Visual Studio .NET 2003を使っているのですが、C#のプログラムをC++のプログラムに変換して使用したいのですが、可能でしょうか? またVBのプログラムもC++に変換して使用したいのですが、可能でしょうか? どうか教えてください。