VB6.0でExcelを起動はできて文字もでは制御できたのですが、色をかえたり線を引いたり・プリンターに出力したり・ディスクにかいたりしたいですが、なにかよいサンプルプログラムはないでしょうか。                                        よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Excel VBA でできることは VB6 からでもほとんどOKなはずです。



[参照設定] で 'Microsoft Excel 9.0 Object Library' をチェックしておきます。
※2000 は 9.0、97 は 8.0 です。

Sub test()

Dim objxlApp As Excel.Application
Dim objBook As Workbook
Dim objSheet As Worksheet

Set objxlApp = CreateObject("Excel.Application") 'Excel アプリケーション
Set objBook = objxlApp.Workbooks.Add 'ブック
Set objSheet = objBook.Sheets(1) 'シート

objxlApp.Visible = True 'Excel を表示
With objSheet.Cells(1, 1)
.Value = "ABC" '文字
.Font.ColorIndex = 3 '文字の色
.Borders(xlEdgeLeft).LineStyle = xlContinuous '罫線
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
objSheet.PrintOut '印刷
objBook.SaveAs "C:\My Documents\Book1.xls" 'ファイルの保存

Set objxlApp = Nothing 'Excel アプリケーションオブジェクトの開放

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。

xlContinuous ← 定義されていませんとでるのですが?
 
         おしえてください。 

お礼日時:2001/05/10 13:13

xlContinuous は Excel の組み込み定数で、罫線の種類を意味します。


参照設定がきちんとなされていれば、通常問題ないはずなのですが...

当方の環境では、VB6 のオブジェクトブラウザで XlLineStyle クラスを
見ますと、'Const xlContinuous = 1' と定義されていることが確認できます。
従って、そのように定数を宣言するか、若しくは xlContinuous に替えて
値の 1 を直接記述すれば、エラーは解消されます。

当方では現象の確認ができないため、なぜエラーになるかはわかりません。
どなたかご教示くださいませ。

なお、罫線の値は次の通りです。実際の罫線の引き方については、
Excel でマクロの実行を行うなどして実践してみてください。

実線 = 1
鎖線 = -4115 (&HFFFFEFED)
一点鎖線 = 4
二点鎖線 = 5
点線 = -4118 (&HFFFFEFEA)
2重線 = -4119 (&HFFFFEFE9)
なし = -4142 (&HFFFFEFD2)
斜め一点鎖線 = 13
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「完熟トマト」の定義とは?

野菜や果物には「完熟〇〇」という表現があります。ものによって「完熟」の定義が違うと思いますが、「完熟トマト」の世の中共通の定義というものが有るのでしょうか?
有るのでしたら内容を教えてください。
お願いします。

Aベストアンサー

農産物流通です。
通常市場に持ち込まれるトマトは薄いピンクすら入る以前のものです。
そうしなければ流通(時間や扱い)に耐えられないでしょうね。

では、「完熟」はというと完熟トマトの共通の定義がないので曖昧です。
本当に完熟、つまり収穫してすぐに食べる状態では流通させると確実に割れます。
うちでは完熟トマトとして販売している頃はカラーチャートで7~8段階で収穫してもらっていました。
見た目は全体が赤く完熟ですが赤がまだ薄いです。

現在は「完熟」という表現が曖昧なことと本当の完熟ではないことから
消費者に優良誤認を与えかねないということで、表示・表現をやめています。

自らの団体が定義をつけ、それを常に消費者に案内していれば
「完熟」という表現を使っても許されそうですね。
例えば「○○産地の完熟基準・・・カラーチャート9段階で収穫し、消費者の手元に24時間以内で届けたものを完熟という」など。

QVB6.0でのOCX・DLLの作り方

VB6.0でのOCX・DLLの作り方を
詳しくご存知の方
もしくは
HP等ご存知の方
教えてくださいませんか?
よろしくお願いいたします。

Aベストアンサー

↓ こちらのサイト等はいかがかな !? ↓(^o^)丿

参考URL:http://hp.vector.co.jp/authors/VA014162/hitch/ActiveX/activex.htm

Qガラス転移の定義とは??

ガラス転移の定義を、自分の言葉でテストに書いたら
×になりました。
ガラス転移の定義ってなんですか??
ちゃんと決まっている言葉(定義)なのですか??
なんか調べてもぱっとこなくて・・・
なんとか教えてください。
よろしくお願いします。

Aベストアンサー

あなたの回答を教えて下さい。テストの回答はないのですか?
質問の回答に困ります。

以下参考まで。
ガラス転移とは,ガラスを過熱するか,またはガラスになる過冷却液体を
冷却した時その物質の融点又は液相温度の2/3~1/2の温度付近で,熱膨張
係数や比熱容量突然変化する温度,"ガラス転移温度が存在すること。
ガラスは過冷却の液体である。との言い方もできる。(ガラスの事典より)

 ガラス転移現象とは、過冷却状態からガラス状態に移るときに性質が
大きく変わる(例えば熱膨脹係数が急に小さくなる)現象をいい、ガラス
転移現象を示す温度をガラス転移温度(あるいはガラス転移点)と呼びます。

 ガラス転移とは、温度を変えたときに、アモルファス固体相が示す、比
熱や熱膨張係数のような熱力学的微分量が結晶的な値から液体的な値へと
多少急激に変化する現象である。(Wong and Angell, 1976; p.36).

 過冷却液体をさらに冷却していくと、分子運動がさらに制限されるよう
になり、最終的にはほとんど停止する。この過冷却液体が運動性を失う現
象をガラス転移と呼ぶ。つまりガラス転移は無秩序である非晶部位(過冷
却液体)でしか起きない(固体である結晶は融解するだけ)。
 

あなたの回答を教えて下さい。テストの回答はないのですか?
質問の回答に困ります。

以下参考まで。
ガラス転移とは,ガラスを過熱するか,またはガラスになる過冷却液体を
冷却した時その物質の融点又は液相温度の2/3~1/2の温度付近で,熱膨張
係数や比熱容量突然変化する温度,"ガラス転移温度が存在すること。
ガラスは過冷却の液体である。との言い方もできる。(ガラスの事典より)

 ガラス転移現象とは、過冷却状態からガラス状態に移るときに性質が
大きく変わる(例えば熱膨脹係数が急に小さく...続きを読む

QEXCELマクロでVB6.0のコードを使う方法

OSはWin XP Home, EXCEL2002を使用しています。
又、開発ツールはVB6.0とVB.Netの両方を持っています(持っているだけで、ほとんど使ったことはありません)。

現在、EXCELでマクロを作っているのですが、足りない機能があり、知り合いから「自由に使っていいよ」という事でVB6.0のソースコードをもらいました。
このソースコードは単体で動かすと、自分の欲しい機能が全て含まれています。これをうまくエクセルマクロに取り込める方法はないでしょうか?
受け取ったソースコードを私が理解できれば、EXCELで動くように書き換えられるのですが、内容が難しいため実行不可能な状況です。
何かいいアドバイスがあればお願いいたします。

Aベストアンサー

具体的にどのようなコマンド行でどんなエラーが出ますか?
よほどのことがない限り動作すると思います。

コード全部を公開するのはできないでしょうから、問題の箇所だけでも情報を出せませんか?

Qダイアディックの絶対値の定義とはなんでしょうか?

ダイアディックの絶対値は、どのように定義されているのでしょうか?

Aベストアンサー

ダイアディックについては私も夢中になって勉強しましたが、実際に物理学の中で応用したことはありません。知識だけなので、回答すべきじゃないのですが、他に回答がつかない様なので、少しでも参考になれば、と書かせていただきます。

そもそも、ダイアディックに絶対値というものが定義されているとは知りませんでした。Gibbsは不変量として、first、second、thirdを定義しているので、絶対値の定義として相応しいものがあるのなら、この中のどれか、ということになるでしょう。

firstはマトリクスでいうところのトレースに相当します。secondはなんとも言い難いですが、thirdはマトリクスでいうところのデターミナントに相当します。よって、ダイアディックに絶対値が定義されるのであれば、不変量のthirdが相応しいかと思います。

ご参考までに。

QEXCEL2000のVB6.0のマクロで困ってます。

エクセル2000についている?ビィジュアルベーシック6.0でマクロを作成しています。

以前のVBAのマクロの解説書を見ながら考えているのですが、下のような感じのマクロを作りたいんです。

1、エクセルのシートにあるボタンを押すとマクロスタート
2、アクティブシートにダイアログボックスを表示し、欲しい情報を集める。(リストボックスを使いたい。)
3、2の結果で作表(作成済みのテンプレートに情報を配置)
4、マクロ終了。

1と3、4はなんとか理解できているのですが、2のところを「他の人がダイアログボックスを変えないように、出来ればマクロの中で何とかする。」っていう条件で出来ないか、教えてください。

以前のバージョンでは、ダイアログシートの挿入があったので、そのシートに保護をかけちゃえば問題ないと思うんですが。

難しければ、オブジェクトを置いたシートなどに保護をかける方法でもよいです。

よろしくおねがいします。

Aベストアンサー

Excel2000は使ってないけど。。

VBAProjectを保護して、UserFormを使えば良いと思いますが、意味違いますか?

Q中学2年図形の証明についての質問です。定義、定理、仮定の違いとは…

非常に初歩的な質問ですみません。
今の私の解釈では・・・

【仮定】
・問題文に出てきた事象。
・結論にはなり得ない。

【定義】
・証明をしなくてもわかりきっている(知識として丸覚えしなければならない)特徴。
・問題を解く際、答えでここへたどり着く証明をすれば、その図形であることがいえる(例:~により、AB=CB(2辺の長さが等しい)なので三角形ABCは二等辺三角形である)。つまり、結論になり得る。

【定理】
・以前証明してはっきりした特徴。
・結論になり得る?

習った内容をすっかり忘れてしまい、結論になり得るのはてっきり「定義」のみかと思って問題集の証明を解いていたのですが、どうやら模範解答を読むと定理も結論にしていいようで…

つまりは・・・
・定義と定理の違いはさほどなく、両方とも図形の特徴(性質)である。
・よって、定義のみならず定理も丸覚えせねばならない。
ということになるのでしょうか?

図形の性質については小学校でも触れているので、定義と定理にさほど違いが無ければ、とりあえず特徴を片っ端から思い出して証明を解けばいい話なのでちょっと気が楽になっていいなあと思っているのですが・・・如何でしょうか?

非常に初歩的な質問ですみません。
今の私の解釈では・・・

【仮定】
・問題文に出てきた事象。
・結論にはなり得ない。

【定義】
・証明をしなくてもわかりきっている(知識として丸覚えしなければならない)特徴。
・問題を解く際、答えでここへたどり着く証明をすれば、その図形であることがいえる(例:~により、AB=CB(2辺の長さが等しい)なので三角形ABCは二等辺三角形である)。つまり、結論になり得る。

【定理】
・以前証明してはっきりした特徴。
・結論になり得る?

習った内容をすっかり...続きを読む

Aベストアンサー

「定義」は決められた事です。
例えば直角三角形の定義は「内角の1つが直角である三角形」。
決まったことなので、理由も何もありません。

それに対し、「定理」は証明により導き出された法則です。
例えば「ピタゴラスの定理」。
これは「~なので、ピタゴラスの定理により、三角形ABCは直角三角形である」
という風に証明に使うことができます。

「定理」はもちろん丸暗記していると便利ですが、証明により導き出すことができるので、必ず丸暗記しなければならないということはありません。

QエクセルVBA テキスト読み込み(区切り文字で読み込み)  サンプルプログラムの改良をしてください。

通常、エクセルでテキストファイルを読み込もうとすると、ウイザードが立ち上がりそれを終えると読み込めます。
私はこのウイザードで、「カンマやタブなどの区切り文字で…」を選択し、次へ。次の画面で「タブ」と「スペース」にチェックを入れます。なお、スペースにチェックを入れると、自動的に「連続した区切り文字は1文字として扱う」にチェックが入ります。
そして次へ→、完了としてテキストを読み込んでいます。

このたび、この操作が面倒なので、マクロで実行しようといろいろ調べていたら、自分のやりたいことと一番近いサンプルマクロを見つけました。以下です。
http://www.bekkoame.ne.jp/~poetlabo/COMP/Excel/VBASAMP/IMP_TXT.TXT

このマクロをそのまま書いて実行すると、区切り文字を指定でき、読み込めます。
ただし、このままだと区切り文字を1つしか指定できません。
先ほど書いたように、今回は「スペース」「タブ」で区切って開きたいのですが、上記のサンプルプログラムをどう改変すればよいのでしょうか?

通常、エクセルでテキストファイルを読み込もうとすると、ウイザードが立ち上がりそれを終えると読み込めます。
私はこのウイザードで、「カンマやタブなどの区切り文字で…」を選択し、次へ。次の画面で「タブ」と「スペース」にチェックを入れます。なお、スペースにチェックを入れると、自動的に「連続した区切り文字は1文字として扱う」にチェックが入ります。
そして次へ→、完了としてテキストを読み込んでいます。

このたび、この操作が面倒なので、マクロで実行しようといろいろ調べていたら、自分のや...続きを読む

Aベストアンサー

こんにちは。

別に元のコード自体を評価するというような気持ちではありませんが、このコードは、シーケンシャルファイル用(拡張子は、.dat)にも適用できるマクロです。それで、問題は発生はしないけれども、全体的に、インポートは遅いはずです。

それと、誰もご指摘にならないようですが、元のサンプルのコードは、Excel97 用です。

Excel2000以上なら、テキストラインで、このようなことは必要ないはずです。
Call ReadLine(CurTxt, DeLimiter, rn)

Split 関数で十分なはずです。ただし、デリミタは、一つに限るので、その前に、Replace 関数で、置換しておく必要があります。

今風の書き方ではないし、プロシージャが分散しすぎて読みにくいように思います。新たに、書き直したほうがよい様な気もしてくるのですが。

記録マクロに関して、

>どうも思うのと違うため、今のところ保留にしています。
>「読み込み」と「開く」は違うみたいで、手動でやっているのと同じ結果にはなるのですが、新しいファイルが開いて、そこにテキストファイルが開かれたり…。

それは、インポートの方法が違っているからです。これは、VBAのオブジェクトで言えば、QueryTable といいますが、ワークシートでは、[外部データの取り込み]のことを指します。オプション自体は、複雑なこともありますので、記録マクロを利用するのが一番です。なお、Tab と Comma 共存の場合は、QueryTable が優れています。

VBA入門レベルでも、記録マクロと組み合わせれば可能かと思います。というか、よほど、インポート間で加工しなければ、このまま使えると思います。

例:

Sub TestMacro1()
  Dim Fname As Variant
  On Error Resume Next
  ActiveSheet.QueryTables(1).Delete 'QueryTableがあったら削除
  On Error GoTo 0
  Fname = Application.GetOpenFilename( _
  "テキストファイル (*.txt; *.csv),*.txt;*.csv", 1, "OpenTextFile")
  If VarType(Fname) = vbBoolean Then Exit Sub
'-------------------細かいオプションは、記録マクロから取り出してください。---
  With ActiveSheet.QueryTables.Add( _
    Connection:="TEXT;" & Fname, _
    Destination:=Cells(1, 1))
    .AdjustColumnWidth = False '列幅の自動調整
    .TextFileCommaDelimiter = True 'カンマ切り
    .Refresh BackgroundQuery:=False 'バックグラウンドの再入力(一回きり)
    .TextFileTabDelimiter = True 'タブデリミタあり
  End With
'-------------------
  ActiveSheet.QueryTables(1).Delete
End Sub
  

こんにちは。

別に元のコード自体を評価するというような気持ちではありませんが、このコードは、シーケンシャルファイル用(拡張子は、.dat)にも適用できるマクロです。それで、問題は発生はしないけれども、全体的に、インポートは遅いはずです。

それと、誰もご指摘にならないようですが、元のサンプルのコードは、Excel97 用です。

Excel2000以上なら、テキストラインで、このようなことは必要ないはずです。
Call ReadLine(CurTxt, DeLimiter, rn)

Split 関数で十分なはずです。ただし、デリミ...続きを読む

Q要件定義書とは?

すみません教えてください。
私は設計を全くしたことがなくて馬鹿みたいな質問かもしれませんが

設計を行う上で「要件定義書」をかかなければならないと
思うのですが、その要件定義書にはなにを記載すればいいのか
具体的に教えていただけないでしょうか?

さらに大雑把な質問ですが、案件を受注して仮に外注に仕事を
投げる場合、どこらへんまで、こちらで物を作ったらいいのでしょうか?

馬鹿みたいな質問ですがもしよろしければお教え下さい。

Aベストアンサー

「要件定義書」自体、さまざまな定義があるようですが、基本的にはクライアントから「RFP(Request For Proporsal)要求定義書」が提出されるケースもありますが、クライアント側にシステム部門がなかったり、システム知識がない場合には、要件のヒアリングをしたうえでヒアリング結果をまとめた「要件(要求)定義書」を作成します。いわゆる新システムの青写真になります。
記載項目は以下のもので網羅されていると思います。参考にしてください。
・開発案件名
・開発の目的と背景
・効果予測
・システム稼動開始予定時期
・開発案件概要
・全体実現イメージ
・導入後の見通し(データの増加予想など)
また、外注に振る場合は、要件のヒアリング作業から参画してもらい外注に要件定義書を作ってもらうこともよいと
思います。

QExcelのVBAで制御する画面の大きさを比率で制御出来ますか?

はじめまして。初心者なんで、教えて下さい。
通常、VBAでWindowの大きさを制御する場合、WidthやHeightで具体的なサイズを指定すると思いますが、
それぞれのユーザーの画面の大きさ(例えば、XGAやSVGA)で横幅の80%で表示するということは可能なのでしょうか?
ぜひ、教えて下さい。

Aベストアンサー

興味があったので試してみました。

Dim ScreenSize As Long

Excel.Windows.Application.DisplayFullScreen = True
ScreenSize = Excel.Windows.Application.Width
Excel.Windows.Application.DisplayFullScreen = False
Excel.Windows.Application.Application.Width = Int(ScreenSize * 0.5)

とりあえずこれでできました。
ウィンドウズの画面サイズをとる方法は、ほかにもあるかもしれませんが、ちょっと見つけられなかったので、「一度エクセルを最大化」⇒「サイズを測って」⇒「最大化解除」⇒「ウィンドウサイズを変更」という手順を踏んでいます。

ちなみに、Excel2000で試してみました。


人気Q&Aランキング

おすすめ情報