• ベストアンサー

VB

visual Basic 2005 expess edition を最近利用し始めたばかりの初心者です。簡単な 質問だとは思いますが宜しくお願いします。 フォームにあるラベルの中に数字が入力されているとします。 ボタンを押す(もしくはキー操作)で、その数字をエクセルへ出力したいのですがどうすればいいのでしょうか? クリップボードへコピーすることまではできたのですが それからエクセルのセルを指定してそこへペーストするという部分がわかりませんでした。 VBAだとrefeditを使って出力先のセルを指定するなどできるのですがVBだとコントロールにrefeditがないので困っています。 良い方法があれば回答お願いします。

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

  • ベストアンサー
回答No.1

Expressだと、現実的なのはCOM Interopを使う方法でしょうか? (Visual Studio 2005 Tools for the Microsoft Office Systemを  買えるなら、その手もあるかもですが…そっちは全くわからんです) …まず始めに、結構面倒であることをお伝えしておきます(汗) VBAだと、そもそもExcel上で動いているものなので考える必要が無い話ですが、 VBの場合は、そもそもExcelでは無いので、Excelの機能を使うよう設定する (Excelを扱う機能を取り込む)ことが必要です。 「プロジェクト」→「参照の追加」で、「COM」タブを選択、その中から 「Microsoft Excel ??? Object Library」を選択してOKを押します。 (私の環境だと、11.0 Object Libraryとかがあります) 後は実際にコーディングしていきますが、COMコンポーネント、特に Excel関連のオブジェクトを使ったときの後始末は面倒です。 下のリンクに、その関連情報があります。 コーディングの仕方は、ここで書くと長くなりすぎるので、 いろいろ調べてみてください。

参考URL:
http://jeanne.wankuma.com/tips/programing/releasecom.html
hans2007
質問者

お礼

回答ありがとうございます。 簡単にできるものだと思ってたのですがそうでもないようですね。 まだ不勉強で教えていただいたHPを 読みこなす事も難しいですが 教えていただいたHPを参考に勉強したいと思います。 ほんとなら解決後、お礼返信したいところですが 時間がかかりそうなのでとりあえず先にお礼返信させていただきます ありがとうございました。

その他の回答 (1)

回答No.2

参照設定は#1さんのとおりです。 コーディングサンプルです。 一応、動作確認してます。 Dim objEx As New Excel.Application With objEx With .Application .Workbooks.Add() .Worksheets("Sheet1").select() End With ' .Cells(1, 1).value = Label1.Text ' .Visible = True ' .Quit() ' End With ' objEx = Nothing ' Excelマクロをご存知のようなので 詳細説明は省略します。

hans2007
質問者

お礼

回答ありがとうございます。 サンプルで動作確認できました。 まだ初心者なので、コードの意味が完全には理解できないですが 教えていただいたコードをベースに色々試行錯誤すれば 今の自分の問題が解決できそうです。 ありがとうございました。

関連するQ&A

  • VBAからVB6への移行

    エクセルVBAでフォームを作成して使用していたものがあります。 諸般の事情でエクセルVBAからVB6sp6に移行することになりました。 エクセルVBAからフォーム、クラス、標準モジュールをエクスポートして、VB6のプロジェクトへインポートしました。 エクセルVBA上でフォームだったものがVB6ではデザインに変わりました。 これをVB6のフォームにしたいと思い、VB6でフォームを新規作成してデザインのフォームから各コントロール(ボタン等)をコピーペーストしようとしたところ、できませんでした。 1.フォームをVB6で作り直すしか方法が無いのでしょうか。 2.どのような理由でコピーペーストができなくなっているのでしょうか。 よろしくお願いします。

  • VBからエクセル形式の出力はできますか?

    Visual Basic .NET (VB6でも可)を使用してCSV形式では出力できるのですが、xls形式で出力はできませんか。 セルの結合や、罫線処理といったエクセルの機能が使いたいのです。 調べて見ると[Visual Studio Tools for Office]というものがMicrosoftから販売されていますが、このツールを 使用しないことには作成は不可能なんでしょうか? ご存知の方がいらっしゃれば教えてください。 現在はVBAを使用していますが、.NETアプリとして作成して見たいと思ったので。 ・VBではできないがC#ではできる。なんて事があればその方法でも構いません。 Visual Studio .NET 2003 Professional

  • VBAからVBへ移行

    エクセルのVBAで作ったフォームをVBのフォームに移行する方法はないのでしょうか? VBAで作ったフォームをエクスポートしてVBに取り込むとデザインとして取り込まれてしまいました。 どなたか教えてください。よろしくお願い致します。

  • 新しくVBを覚える場合どの製品を買うべきか

    私はCOBOLでの開発経験が1年あり、 アクセスVBAを趣味程度に触ったことがあります。 VBAを触ったことがあるということから、 再就職のためにVBを新しく覚えようと思うのですが その際どの製品を買うべきでしょうか。 アマゾンでの購入を考えているので Visual Basic 2005 Express Edition Microsoft Visual Basic .NET Standard Version 2002 を候補に考えています。 またVB.netが解ればVBがわかるでしょうか。 仕事としてはVBとVB.netどちらの仕事が多いでしょうか。 ご回答をよろしくお願いいたします。

  • Visual C++ 2008からExcel2003への出力方法

    私はVisual C++ 2008でWindowsフォームを使用し、アンケートを作成しています。同じフォームに回答のラジオボタン(はい、いいえ、どちらでもないの3種)を設置し、その結果をExcel2003のセルへ出力したいと考えているのですが、可能ですか? ※セルへ出力する値は数字でしたいと思っています。 はい・・2、いいえ・・0、どちらでもない・・1

  • VB2008 Excelにデータ出力

    VB2008で、Timerで更新されるTextBoxの数値をExcelに順次出力する(セルA1に出力したら、次の値をA2に出力、・・・)プログラムを作りたいのですが、どんなソースにすればよいか分かりません。 Web検索もしましたが、キーワードが悪かったのか、適したサンプルも見つかりませんでした。 VB Form上のTimerでTextBoxの数値を更新する部分はできていますので、指定のフォルダ内のExcelを開いてデータをセルに出力する方法を教えてください。 参考URLなどもあれば教えてください

  • VB 2005でソフト作成

    先日、ソフト作成のため「VB2005 EXPRESS Edition」をダウンロードした者です。 VBAはある程度できるようになったのですが、また違った環境なので、これからしっかり勉強していきたいと思っています。 そこで、オススメのサイトや書籍があればご紹介していただきたいのです。 当方がやりたいことは、 VBで作成したフォームに記述した内容を読み取り、HTMLに反映させたり、またはソースを拾ったり、 テキストファイルやエクセルファイルに書き込み、または読み込み、 などを行いたいです。 宜しくお願い致します。

  • VBA作製ができません。どなたか教えてください。

    エクセルVBA作製ができません。どなたか教えてください。 会社の作業単純化のためにVBA作製しようと思ったものの、うまくできません。出来る方ならすぐ出来てしまうのではと思い質問させていただきます。 作りたいのは1つのファイル「Book1」にあるデータをコマンドボタンを押すと「Book2」にコピーさせたいのですが、 条件がありまして、 「Book1」には横並びに5個のセルに数字がそれぞれ入っていたり、いなかったりするのですが、 5個のうちいちばん左のセルに数字が入っていたら実行、入っていなかったらその右のセルにセルを移動するという式if then?で場合分けをしたいです。 そして、もし実行ならその数字や他の任意のA1、G4、H6(ちなみA1、G4、H6は文字)など指定したセルをコピーして「Book2」にペーストしたいです。 しかしそこでペーストする先の指定したセルに文字が入っていたらその 下のセルにペーストという条件も加えたいです。ここでloopを使う? コピーペースト出来たら、また、「Book1」のいちばん左の右のセルに数字が入っているかどうかでコピーペーストをするという作業を繰り返したいです。なのでいちばん最初にFor Nextで5回繰り返す式を入れる? 要はBook1の5個の数字を参照していってセルに入力されていれば 数字や他の文字をBook2にペーストしたいんです。どなたかVBAの式を教えてください。 宜しくお願いします。

  • アクセスのフィールドに値をペースト(VB・Access)

    Visual Basic 2005 Express Editionで、 フォーム上のボタンをクリックすると変数内の文字列を Accessフォームの特定のフィールドにセットするというVBを作りたいのですが、 AccessのVBは未経験であるため難儀しております。 Accessのフィールドに値を入れるところがわかりません。 AccessVB初心者の同僚は以下のように教えてくれましたがまったく動きません。 Dim copy_text Dim myAccess copy_text = "○○株式会社" set myAccess = CreateObject("Access.Application") myAccess.Forms("フォーム1").Controls("会社名").text = copy_text 本来"○○株式会社"は変数ではなくクリップボード内に入っています。 なのでクリップボード内の値をアクセスのフィールドにペーストするのでもかまいません。 ネットはいろいろ調べていますが、未経験の自分は基礎編・入門編であっても理解できません。 未経験の自分が作ることに問題がありますが、他にやる人がいないので仕方がありません。 どなたか助けて下さい(涙)

  • EXCEL VBAから、VBのフォームを開くためには?

    EXCEL VBAからVBへプログラムを移そうと努力しています。 そこで、エクセルのシートのコマンドボタンを押すと、 VBで作成したフォームが開き、そこからEXCELの処理を させたいと考えています。 VBからエクセルの処理は Excel.Application のあたりをつかうことでなんとかなりそうなんですが その逆がわからず行き詰まっています。 EXCELは2000 VBは6.0 です ご存じの方、よろしくお願いします。

専門家に質問してみよう