- ベストアンサー
VB6.0でExcelの操作。
お世話になっております。 VB6.0上で、Excelオブジェクトの書きこみロジックを作成しているのですが、Excelオブジェクトを作成し、セルへのデータの書きこみ等は問題なくできるのですが、フォントを変えたり、線を引いたり、オートシェイプを操ったり・・・等の方法がいまいちわかりません。自分でも調べてはいるのですが、VB6.0でのそういったExcel操作事例集のようなサイトがありましたら、教えて頂けないでしょうか?
- kyo----
- お礼率94% (324/342)
- Visual Basic
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「VB6 Excel」で検索したら色々出てくるけど、どれも断片的でこれというサイトが無かったので、それらをその都度組み合わせて参照していただくとともに、Excel自身にプログラムを書いてもらう方法をお教えしよう。 Excelで、ツール→マクロ→新しいマクロの記録を選ぶ。 マクロツールバーが出てくるので、やりたい操作を「Excel」で行い、記録の停止をする。Alt+F11を押すと、Excel VBAの画面になるので、そこに今行った操作が記録されてるってスンポーよ。後はこのソースをVBに貼り付けるなり参考にするなりお好きなように。
その他の回答 (1)
- todo36
- ベストアンサー率58% (728/1234)
ExcelVBAをVB6に移植するのは簡単でしょう。 それを前提で言うと (1)マクロの記録 → ExcelVBAのサンプルを自動生成してくれる (2)ExcelVBAのサイト・書籍 → 多数あり (3)ExcelVBAのヘルプ が情報源になります。
お礼
なるほど! 自分の行いたい作業を、一度エクセルマクロで記録して、出来上がったロジックをコピペするということですね! ありがとうございました!!
関連するQ&A
- Excelオブジェクトの操作
お世話になっております。 二つどなたかご教授下さい。 VB6.0を使用しExcelオブジェクトにデータを吐き出す単純なロジックを作成しております。 この際、Excelオブジェクトをいろいろ操作しているのですが、2つわからない事があります。 一つは、Excelの操作で、「表示」→「ズーム」を70%にする記述。 もう一つは、「ツール」→「オプション」→枠線のチェックを外す(つまり枠線非表示にする)方法。 これらの作業をVB上でワークシートオブジェクトを操作して行う方法をご教授下さい。 マクロでこれらの動作を一旦記録し、そのロジックをいろいろ加工してみてもだめでしたm(__;)m。
- ベストアンサー
- Visual Basic
- VB6からExcelを操作する
VB6.0からExcelの操作をしています。 そのなかで、Excelシートを印刷したいのですが、どのようにしたら良いのでしょうか。 また、ExcelVBAのFunctionやSubを実行するにはどのようにするのでしょうか。 VB6.0内でExcel操作は次のようにしています。 Dim ExcelApp As Object Dim EWorkbook As Object Dim ESheet As Object Set ExcelApp = CreateObject("Excel.Application") Set EWorkbook = ExcelApp.Workbooks.Open(ExcelBookFlNm) Set ESheet = EWorkbook.Sheets(M_SheetNm) Set ESheet = Nothing Set EWorkbook = Nothing ExcelApp.Quit Set ExcelApp = Nothing よろしくお願いします。
- ベストアンサー
- Visual Basic
- ExcelでVBAを利用してオートシェイプ情報取得
Excelのオートシェイプをテキストデータに変化するVBAを作成したいです ただし対象となるオートシェイプは複数のオートシェイプがグループ化された グループオブジェクトになっています それら特定のパターンを持つオートシェイプオブジェクトの一群があり 1つ1つには想定される名称が存在します 具体的な操作としては複数のオートシェイプオブジェクトを横に並べたイメージダイアグラムを 作成し、それらにそって対応するテキストを配置していきたいというものです このようなオートシェイプの情報をうまく拾う方法、テキストデータと紐づける方法はありませんでしょうか よろしくお願いいたします
- ベストアンサー
- Visual Basic
- エクセル
エクセルでセル内の文字の上から二重線を引きたいのですがやり方がわからず困っています。一重線ならセルの書式設定→フォントから引けるのですが、二重線は引けません。オートシェイプの線で書くしかないのでしょうか?
- ベストアンサー
- Windows XP
- エクセルで、オートシェイプの10本の線を全て消すには?
セルの羅線の10本は なし を選べば1回で消えますが、 オートシェイプから作った10本の線は 1回の操作で消えないので、 線を1本1本選んで消してます。 オートシェイプの10本の線を 1回の操作で、全て消すことはできますか?
- ベストアンサー
- オフィス系ソフト
- VBでのExcel操作
VB6.0を使用してExcelを操作するプログラムを作成しています。 Excelブックを全画面表示させて、右側に小さめのフォームを表 示させるのですが、Excelブックの方をクリック(アクティブ) したときにもフォームがExcelの手前に見えている状態にさせる にはどうしたらよいのでしょうか? いろいろ試みましたが、どうしてもフォームが後ろにいってしま います・・・。
- 締切済み
- Visual Basic
- エクセルのテキストボックスをVBで操作できない
こんにちわ。 VBからエクセルを開いて、帳票を出力したいのですが、 エクセルはフォーマットシートを用意して、そのシートをコピーして書き込むようにしています。 セル単位での書き込みでは問題ないのですが、図形描画のツールボックスにある、「テキストボックス」への書き込みの仕方がどうしてもわかりません。 エクセルのマクロ記録を使って、調べたのところその場合一回目はきちんと書き込んでくれますが、二回目はなぜか「オブジェクト変数 または WITHブロック変数が設定されていません」というエラーが出ます。 なにか開放しなければならないのでしょうか? 一応、実行したマクロを載せておきます。 g_sheetwk.Shapes("text1").select Selection.Characters.Text = "aaaaaa" また、rangeオブジェクトか、shapeオブジェクトにsetしようと試みても、「型が一致しません」と言われてしまいます。 解決策があればお願いいたします。
- ベストアンサー
- Visual Basic
- VB.net(2003)でのexcel操作
現在vb.netを使用してのExcelそうさプログラミングを作っており、excel sheetへの文字入力はできるようになりました。そこで質問なのですが、excelシートの特定のセルの値が5だった場合にその隣のセルのあたいを10にするというプログラムを作りたいのですが、VBAではとても簡単なのですが、vb.netを使用してどのようにやればよいかがわからないのでご教示いただきたいです。activecell.offset(0,1)やcells.findのような、VBAをVB.netから使用する方法はあるのでしょうか?
- ベストアンサー
- Visual Basic
- 非MS製アプリケーション上のデータを自動で操作するには
いつもお世話になっております。 タイトルの内容を具体的に申し上げますと、 (1)ある非Microsoft製品のアプリケーション上に表示されているスプレッドシート状のセルを全て選択する (2)クリップボードへコピーし、クリップボード上でテキスト編集する (3)"(2)"で編集したテキストデータを"(1)"で選択した範囲へペーストする を実現したいと思っているのですが、VB6では可能でしょうか? 対象のアプリケーションがExcelなどであればロジックでオブジェクトを指定などで操作できると思うのですが、特定のアプリケーションに対して、"全て選択"などの機能を働かせることができれば知りたいのですが・・・ 検索の仕方が悪いのか、目ぼしいサイトが見つかりません。よろしくお願いします。
- 締切済み
- Visual Basic
- Excelのオートシェイプについて
お世話になります。 Excel2003について質問させてください。 Excelを利用して、表を作っているのですが オートシェイプで四角の図形を用います。 書式設定で、中身を「塗りつぶしなし」に設定。 線を残して、枠として利用しているのですが ファイルを保存して改めて開いた時に なぜか、テキストが入力できるオブジェクトになってしまっていて 枠の下のExcel自体のセルが選択できなくなってしまっています。 非常に使いづらいのですが、設定などで直す方法。 または、閉じてもテキストオブジェクトにならない方法を ご存知の方ご教授願います。
- ベストアンサー
- オフィス系ソフト
お礼
なるほど! 自分の行いたい作業を、一度エクセルマクロで記録して、出来上がったロジックをコピペするということですね! ありがとうございました!!