• ベストアンサー

エクセルファイルの作成/保存

VB初心者ですみません。 VBでエクセルファイルを新規で開き、ビットマップファイルを貼り付けて名前をつけて保存するプログラムを作っていますが、全くわかりません。 新規で開く方法、ビットマップファイルを貼り付ける方法、名前を付けて保存して閉じるする方法を教えてください。 また、文字のフォントの変更方法、罫線の書き方も教えてください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

多分、エラーがでる原因は、 xlDiagonalDownがエクセルでの定数であって VBでは未定義なためだと思います。 こういう、エクセルで定義されている定数を調べるには、 エクセルVBEでイミディエイトウインドウを開いて ? xlDiagonalDown とかやると表示されます。 VBの方で定数を定義してやるには、 Const xlEdgeBottom As Integer = 9 Const xlInsideHorizontal As Integer = 12 Const xlContinuous As Integer = 1 などと書きます。 直接数字を書いても良いですが、 マクロ側からコピーしてきて使う場合にはそのまま使えるので便利だし、可読性が増します。 ちなみに、xlDiagonalDown は、斜め罫線だと思います。xlNone は罫線を消す指定です。 それに、いったんselectしなくても、直接できますよ。 下線を引くには objExcel.Range("B22:K26").Borders(xlEdgeBottom).LineStyle = xlContinuous 'xlEdgeBottom = 9, xlContinuous =1 objExcel.Range("B22:K26").Borders(xlInsideHorizontal).LineStyle = xlContinuous 'xlInsideHorizontal =12 としてやればいいです。

itsupy
質問者

お礼

ありがとうございます! できました。(0^-^0)

その他の回答 (4)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

罫線の書き方とかは、マクロの記録を参考にするといいかもしれません。 それからヘルプを引くといいと思います。

itsupy
質問者

補足

マクロを記録し、それに習ってやってみましたが、最後の行でエラーが出ます。 Private Sub Command1_Click() Set objExcel = CreateObject("Excel.Application") 'エクセルオブジェクトを作成します。 objExcel.Visible = False 'エクセルを非表示で objExcel.Workbooks.Add '新規に作る objExcel.Sheets("Sheet1").Range("c23").Select objExcel.ActiveSheet.Pictures.Insert (App.Path & "\パット.bmp") objExcel.Sheets("Sheet1").Range("f24").Select objExcel.ActiveSheet.Pictures.Insert (App.Path & "\仕切1.bmp") objExcel.Sheets("Sheet1").Range("i24").Select objExcel.ActiveSheet.Pictures.Insert (App.Path & "\仕切2.bmp") objExcel.Sheets("Sheet1").Range("B22:k26").Select objExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone B22からK26までに下線を引こうとしています。 さっぱりわかりません。助けてください。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

他の、OKWebの書き込み見て、思ったんですが VBで表示してるものをエクセルに渡すということで クリップボード経由を考えたんですけど、 ファイル名がわかっているのだったら、直接 objExcel.ActiveSheet.Pictures.insert ("C:\sample.bmp") で、エクセルのシートに貼り付けられます。 (#1のペーストの部分を上ので置き換えられる)

itsupy
質問者

補足

いろいろとありがとうございます。 でも、、どうしても罫線のひきかたがわかりませんっ! ヘルプもいろいろ見てみたのですが・・・

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

イメージをクリップボードへコピーするには、 PictureBox1がイメージを保持している状態で Clipboard.SetDataObject(PictureBox1.Image) すればいいです。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Set objExcel = CreateObject("Excel.Application") 'エクセルオブジェクトを作成します。 objExcel.Visible = False 'エクセルを非表示で objExcel.Workbooks.Add '新規に作る objExcel.Sheets("Sheet1").Select objExcel.ActiveSheet.Paste 'クリップボードの絵を貼り付ける、クリップボードへは、VBのImageオブジェクトを使えばいいね。 objExcel.ActiveWorkbook.Close SaveChanges:=True, Filename:="C:\bookPaste.xls" '名前を付けて保存 フォントの変更方法とか罫線の書き方は、 マクロの記録でも使って、ヘルプでも見て下さい

itsupy
質問者

補足

Imageをコピーするにはどうすればいいんですか・・??

関連するQ&A

  • エクセルファイルへの保存方法

    .NET2008を使用しております。 vb.netから ある数値をエクセルの指定したセルに書き込んで エクセルファイルとして保存したいのですが SaveFileDialogを 使用することはわかるのですが エクセルファイルのセル指定と保存方法がわかりません。 当方 はじめたばかりの初心者で質問内容もわかりにくいかもしれませんが よろしくお願いいたします。

  • エクセルの表作成

    エクセル2007 以前のバージョンからそうだと思うのですが、エクセルで 表を作成して、その中に文字を入力していくと画面上では 文字が罫線にかからない状態で入力されているのが確認で きるのに、プレビューや印刷をすると、罫線の上に文字が のっていたり、はみ出ている文字が消えていたりします。 この方法を防ぐのは セルの書式設定で1.縮小して全体を表示         2.折り返して全体を表示         3.列幅の変更         4.フォントサイズの変更 以外に方法があれば教えください。

  • EXCELファイルを保存するプログラムについて

    指定のEXCELファイルを開き、名前を変えて保存するプログラム(ソース)を必要としています。以下に詳細を記入します。 EXCELファイルを開く (1)36ファイルの中から6ファイルを開く。 (2)その6ファイルは利用者がボックス等に入力して選ぶ。 EXCELファイルを保存 (1)それぞれ別名で保存したい。 (2)保存名はあらかじめ"A","B","C","D","E","F"とする。 (3)別フォルダに保存したい。(あらかじめ保存フォルダを作成しておいてもよい) 例;6ファイルから2ファイルを開き、別名で保存する場合(EXCEL) 全6ファイル("1","2","3","4","5","6")があるとする →利用者がボックス等入力する   1{ "2" }   2{ "5" }  ※{  }をボックスに見立てている →"2","5"のファイルが開く →別名で保存する   1{ }は"A"   2{ }は"B"とあらかじめ決めておく →全6ファイルとは別に"A","B"というファイルが作られ全8ファイルとなる。 HSP3.0(2.6)かHTML Applicationsで、できるのではないかと考えています。他のプログラムは利用できる環境にありません。HSP3.0(2.6)は基本的プログラムを組むことができますが初心者です。HTML Applicationsにおいては全くの初心者です。 もとより、このようなプログラムは可能でしょうか? ご回答よろしくお願いいたします。

  • Excelファイルが保存できないのですが・・・

    メールの添付ファイルのExcelファイルがあります。 このExcelを名前を変更してデスクトップに保存しました。 これをFDに保存しようとしたら、できません。 保存領域ではないと表示されます。 どうしてこういった現象がおきるのですか。 どうしたら、フロッピーの保存できますか。 お願いします。

  • Excelでファイルを保存して一旦閉じ、ファイルを開き直すと表示フォントが化ける

    Excelでファイルを保存して一旦閉じ、ファイルを開き直すと表示フォントが化けてしまいます。 セルの書式で、フォントを確認しても、保存前と変わってはいません。 また、印刷すると設定したフォント通りに印刷され、おかしくなるのは表示だけです。 すべてのファイルについて起こるわけではなく、比較的サイズの大きなファイルでよく起こりますが、どういうファイルで起こるか特定はできていません。 フォントを変更すると正常に戻ることもありますが、異常なままの場合もあります。 さらに、フォントを変更して正常に戻った場合も、保存して一旦閉じ、ファイルを開き直すと表示フォントが化けてしまうということを繰り返します。 どなたか解決策、ないし原因の判る方はいらっしゃいませんか? よろしくお願いします。

  • Excelのファイルが保存できません。

    仕事先のサイトからExcelで作られた納品書をダウンロードしいったんは保存できるのですが、入力して保存が出来ません。入力しなくても他の場所に別名で保存できません。 「テンポラリドキュメントに保存されたので、新しい名前を付けて保存してください」と出ます。 名前は「納品書」もしくは「納品書2」、または「nouhin」「nouhin.xls」と試しましたが駄目でした。 又は「ファイルにアクセス出来ませんでした。次のいずれかを行ってみてください。 ・指定したフォルダがあることを確認します。 ・ファイルを含むフォルダが読み取り専用になっていないことを確認します。 ・指定したファイルの名前に次のいずれかの文字も含まれていないことを確認します。:<>?[]:|* ・ファイル名及びパス名が半角で218文字より長くないことを確認します。」と出ます。 どなたか保存方法を教えてください。 よろしくお願いします。

  • ファイルの作成方法…

    VBでテキストファイルの中身を開くプログラムを作成しました。 そのテキストファイルの中身を変更(編集)し、それを同じファイルに上書き保存するのではなく、開いたファイルのある同じフォルダ内に新しいファイルを作り保存したいと思っています。  <例>test1.txtというファイルを開き中身を編集してそれを同じフォルダ内に新しくtest2.txtというファイルを作って保存するといった感じです。 そこで新しいファイル名で保存する(新しいファイルを作成する)方法を教えて欲しいんです、こんな説明で分かってもらえるか不安ですが…、どなたか分かる方教えていただけませんでしょうか? かなりの初心者なのですが、私でも理解できるようなプログラムだと嬉しいです。 よろしくお願いします。

  • VBAからEXCELの新規ファイルを作成する

    VB6.0 Excel2000を使用しています。 VBAからEXCELファイルを参照する方法は前回教えていただきましたが 新規にEXCELファイルを作成する方法がわからないので教えてください。 【やりたいこと】 ・ファイル名は、ダイアログボックスから入力され、フルパスで変数に  格納されています。 ・シート名は固定文字で指定します。 (↑ここまではできています) (↓ここからわかりません) ・セルの内容を編集したあと、指定のファイル名・シート名で保存したい よろしくお願いします。

  • エクセルが裏で動いたままなんです。

    VB6.0にて、プログラムを作っておりまして、VB上の入力されたデータを エクセルのテンプレートファイルに出力し、テンプレートファイルを 名前を付けて保存(名前はシステム日付+".xsl")しております。 プログラムを起動し、エクセルへ出力し、プログラムを終了させたのですが、 出力したエクセルファイルが裏で動いているらしく、Windows(2000Pro)を 終了させるたびに、「****.xsl」を保存しますか?を聞いてきます。 この他、名前を付けて保存したエクセルファイルを起動すると、テンプレート ファイルまで一緒に開き、一つのファイルを開いただけなのに、二つの ファイルが起動します。 VB側からの制御が悪いのでしょうか? よろしくお願いします。

  • エクセルファイルの保存について

    どなたか、ご教示下さい。 エクセルで作成した保存ファイルを呼び出し、何もしないまま(入力データを変更しないで) 「×」で終了しようとすると、ファイルによっては「○○・・・への変更を保存しますか?」と 表示されるファイルと、そのまま閉じてくれるファイルとの2種類があります。 最初の保存の方法が違うのでしょうか? 同じように保存してるつもりですが、わかりません。 よろしくお願いいたします。

専門家に質問してみよう