Visual Basicでフォームに図形を直接描画できる様に、Excelでオートシェイプなどのオブジェクトを使用しないでシートに対して直接、図形(線や円など)を描画する事は可能でしょうか?

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

A 回答 (1件)

オートシェイプを使用しないで、オートシェイプと同じようにシートに関連付いたラインを描画すると言うことですよね?



シートが切り替わったりブックが切り替わるたびに、ラインが可視/不可視になったり、シートのスクロールによってそのラインもスクロールするようなものは、オートシェイプだけだと思います。

力技でラインのような物を画面に表示しても、エクセルがそれをサポートしてなければ、スクロールされてもブックが切り替わっても、ラインは初期の画面表示位置を保ちます。ですので自分でそのタイミングを読み取って、ラインの可視/不可視や表示位置をコントロールしなければなりません。ですので事実上無理な話です。



何か理由があってラインオブジェクトを操作されたくないのですよね?オートシェイプを使用してもよいのであれば・・・

メニューの中の
[ツール]→[保護]→[シートの保護]
を選択することによって、オブジェクトのみをロックすることも可能です。
もし操作可能なオブジェクトと、操作不可能なオブジェクトとして差別をおこないたい時は、それぞれのオブジェクトのプロパティ内に、[保護]という項目がありますので、そちらで設定できます。
    • good
    • 0

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

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

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

Qblenderでのマットオブジェクト作成方法

blenderとvoodoo camera trackerというソフトを用いてマッチムーブ動画を作ろうとしています。
カメラトラッキングは無事に終了し、後はマッチムーブさせたオブジェクトの影と反射を入れるだけの状態です。
ここで、その物体に映った影だけを表示するためのオブジェクトはマテリアル設定のonly shadowボタンにより実現できたのですが、
反射だけを表示するためのオブジェクトの作り方がわかりません。
blenderではそのようなオブジェクトの作成はできないのでしょうか?
できるのなら、その方法を教えていただきたいと思います。
よろしくお願いします。

Aベストアンサー

Planeを用意してRay Transp Fresnelで透明にしてRay Mirror RayMirで反射にしてみたらどうでしょう

QVisual Basic 2005で作成したソフトは再描画は不要?

Visual Basic 2005で作成したソフトは再描画は不要?

普通は、ウィンドウとウィンドウが被って、上のウィンドウを移動したら下のウィンドウの描画は欠けると思いますが、
なぜか欠けません。

これはVisual Basicが勝手にやってくれているんですか?

質問.
昔と違って、クリッピング領域のみを描画するメソッドを作って高速描画化する必要はなくなったということですか?
逆に別処理で書くと負荷になりますか?

何も書いてないのに、再描画されているのです。

すごくないですか?当たり前ですか?
誰が自動実行して再描画してくれてるんですか・・

Aベストアンサー

やったことは無いですが。
Paintメソッド(なんてあるかは知りませんが)などを使って、
直接描画しているなら再描画は必要じゃないかと思います。
逆に、イメージやラベルなどのオブジェクトを貼り付け、
そこに描画処理を任せているのであれば、再描画の必要は無いです。
そのオブジェクト自体に再描画の処理は組み込まれているので、
たとえば上のウィンドウを移動した場合などは、
ウインドウの再描画イベントが発生し、そこで自動的に
それらのオブジェクトの再描画処理が呼び出されるわけです。

Q【土木・道路舗装工事について質問です】道路舗装の締固めに「振動ローラー」を使いますがあの鉄の塊のロー

【土木・道路舗装工事について質問です】道路舗装の締固めに「振動ローラー」を使いますがあの鉄の塊のローラーは振動しているのでしょうか?

ローラーが振動しながら締固めするので振動ローラー?

ローラーが振動しないただの鉄のローラーだったら何が振動なのでしょうか?


質問2:
締固めに「タイヤローラー」というものもあります。

タイヤローラーを見る限りタイヤローラーだけではタイヤとタイヤの隙間が空いていて締固めになっていない隙間部分が発生するので締め固めにはなっていない気がします。

締め固めは何度も往復すれば良いというものではなく最適締め固め係数という何往復すればもっとも適切な締め固めが出来ると決まっているはず。

土工知識がない運転手が締め固めをすると水分が抜け過ぎてしまう。

で、タイヤローラーで締め固めをすると結局、後ろから振動ローラーが締め固めをしていてタイヤローラーの意味があるのか???

と思ってしまいます。

タイヤローラーだけで締め固めって出来るものなのでしょうか?

それとも最適往復回数とか計算せずに適当に固めて適当に固まったなあ!さあ帰ろう!!ってノリなんでしょうか。

教えてください。

【土木・道路舗装工事について質問です】道路舗装の締固めに「振動ローラー」を使いますがあの鉄の塊のローラーは振動しているのでしょうか?

ローラーが振動しながら締固めするので振動ローラー?

ローラーが振動しないただの鉄のローラーだったら何が振動なのでしょうか?


質問2:
締固めに「タイヤローラー」というものもあります。

タイヤローラーを見る限りタイヤローラーだけではタイヤとタイヤの隙間が空いていて締固めになっていない隙間部分が発生するので締め固めにはなっていない気がします。

締...続きを読む

Aベストアンサー

1.振動しています

2.タイヤローラーは、車体の重量だけで締め固めています。

ちゃんと回数管理してますよ

Q中間図形Visual Basic

中間図形ってなんですか?『.dat』ファイルも使うって書いてあるんですけど、それって何ですか?

なんか参考になるHPでもなんでもいいので教えていただけませんか?

Aベストアンサー

> 中間図形ってなんですか?『.dat』ファイルも使う
そもそも出所はどこですか?
「VisualBasic+中間図形」は一般的では無いと思いますが。

何がしかの計算(多量)を行い、結果を図形化する際、配列などへ格納することができない、などの理由で計算結果をファイル出力しておき、その後、描画処理を行うということでは?

Q非オブジェクト指向で開発中のシステムをoopsに…

php5.3で、クラスを1個しかつかわず、関数も数個しか使っていない状況でシステムを構築中です。
関数のスコープもめちゃくちゃです。

で・・・・これをオブジェクト指向にしたいのですが、
どこから手をつけていいものか迷ってます。(オブジェクトもほとんどわかってない。extend privateくらい)

この場合、どうやってoopsにかえていくのがいいでしょうか?

どんな意見でもいいので、お教えいただけますでしょうか?

よろしくお願い申し上げます。

あと、こんな状態の私(オブジェクト指向をほとんどわかってない)にとって
役立つサイトをご存じでしたらぜひお教えください。よろしくお願い申し上げます。

Aベストアンサー

基本は「関連のあるデータと手続きをまとめる」「処理を抽象化してみる」ことだと思います。

http://www.phppro.jp/school/oop/vol1/1
などを参考にしてみてください。

後、php5に対応している書籍であればクラスなどのオブジェクト機能について言及はあると思います。
・プログラミングPHP 第2版 オライリー・ジャパン
・パーフェクトJava 技術評論社
あたりはどうでしょう?

QVisual Basicの実行フォーム時について

●フォームに3つの入力用テキストボックスがあるのですがTabキーではなくEnterキーで2つ目、3つ目のテキストボックスへ移動させるにはどう書けばよいでしょうか?

●またその3つの値を一つのラベルに一行にではなくそれぞれ改行させて表示させたいのですがどう書けばよいでしょうか?

Aベストアンサー

こんばんは。

Enterで移動する方法ですが、VBのバージョンは?バージョンによって方法が違います。

とりあえずここに.NettとVB6の方法があります。
http://jeanne.wankuma.com/tips/form/cobolerform.html

もうひとつの方は

TextBox1.Text & vbLf & TextBox2.Text & vbLf & TextBox3.Text

でどうでしょうか

QObjectクラスのオブジェクトををdoubleにしたいです。

こんにちは。
今スタックを使ってプログラムを組んでいます。
Double型のオブジェクトをスタックに入れて、次に取り出したとき、double型の変数として扱いたいです。
スタックをpopすると、Objectクラスのオブジェクトとしてpopしてくれると思うのですが、そのオブジェクトをdouble型の変数に変換する方法がわかりませんでした。
ちなみにpushはうまくいっているようです。
誰かお分かりでしたら教えてください。よろしくお願いします。

Aベストアンサー

キャストと、Double クラスのメソッドを組合わせて使います。
↓こんな感じ。

Double d = new Double(5.55);
Stack stack = new Stack();

stack.push(d);
// ここまでは、OK なんですよね

double x;
x = ((Double)stack.pop()).doubleValue(); // 一気に書くと、こういう感じ

// 以下の二つのことをやってます
Double y;
y = (Double)stack.pop(); // キャストをやって
x = y.doubleValue();   // Double のメソッドを使う

QVisual Basic 6.0のフォームの印刷方法

Visual Basic 6.0を使っています。
実行時のフォームを印刷したいのですが、
どのようにしたらできますか??
また、実行時のフォームをwordに貼り付ける方法も
教えてください。
皆さんのお力を貸してください。

Aベストアンサー

実行している時に
[PrintScreen]を押してください(大抵F12キーの右をたどればあります)
これで画面の写真をとる事が出来るんですね
あとはペイント等を開いて[Ctrl]+[V]を押す。
「サイズを大きくしますか?」と出るかと思うのでYesを押せば出来上がり。
後は適度に加工して印刷すれば良いわけです。
フォームを一つだけの場合は、フォーカスを当てて[Alt]+[PrintScreen]でOK
使用している機種によっては[Alt]が[GRF]だったり[PrtSc]だったりします。
[PrtSc]の文字の色が違うようならば
[Fn]+[PrtSc]で対応できるかと思います。
ちなみに[Fn]と言うキーは[Ctrl]の近くにあります。

注意点とすると。
[Alt]+[Fn]+[PrtSc]となるかもしれませんが、
これが出来ない事が多々あるようですのでその場合は[Fn]+[PrtSc]として後から加工してください。

また既知かもしれませんが念のため…
[Alt]+[PrintScreen]は、左を押しながら右という事です。

実行している時に
[PrintScreen]を押してください(大抵F12キーの右をたどればあります)
これで画面の写真をとる事が出来るんですね
あとはペイント等を開いて[Ctrl]+[V]を押す。
「サイズを大きくしますか?」と出るかと思うのでYesを押せば出来上がり。
後は適度に加工して印刷すれば良いわけです。
フォームを一つだけの場合は、フォーカスを当てて[Alt]+[PrintScreen]でOK
使用している機種によっては[Alt]が[GRF]だったり[PrtSc]だったりします。
[PrtSc]の文字の色が違うようならば
[Fn]+[Pr...続きを読む

Q上下の位置揃えについて

オブジェクトの TEXTやLABELで文字を左揃え、中央揃え、右揃えはALIGNMENTプロパティを指定しますが、上下の位置指定はどのようにすれば良いか教えてください。
いつも上揃えになってしまいます。
よろしくお願いします。

Aベストアンサー

色つきのラベルなのに文字位置が上詰で気になる!っていうときは
姑息な手段ですが、背景を透明に設定したラベルを
上に重ねると好きな位置に文字を表示できます。
テキストボックスの場合は下のテキストボックスを
Enable = Falseにしておき、上に重ねる方を
フラットにして実線を消しておくとそれらしくなります。
でもオブジェクトがたくさんあるとめんどくさいですよね…

Qvisual basic 6.0 ⊂ Excel2003のVBA?

visual basic 6.0 ⊂ Excel2003のVBA?

visual basic 6.0 で出来ることは、Excel2003のVBAでも出来ますか?

visual basic 6.0 で出来ることと、
Excel2003のVBAで出来ることの違い(差分)について知りたいのですが、
どなたかご存知でしょうか。大雑把な回答でも結構です。
宜しくお願い致します。

Aベストアンサー

VB 6.0 は実行ファイル *.exe を作成できます。
Excel VBA は作成できません。

VB 6.0 で作成した実行ファイルは VB 6.0 のランタイムがインストールていないと実行できません。
Excel VBA で作成した Excel ファイルは Excel がインストールされていないと実行できません。

VB 6.0 は開発の手助けをするコンポーネントやコントロールが販売されています。(いました)
これらはの中には Excel VBA でも使用できるものもありますが、使用できないものの方が多いです。

VB 6.0 は COM オブジェクトを扱えます。したがって Excel をコントロールすることができます。
Excel VBA も COM オブジェクトを扱えます。

VB 6.0 はウィンドウを持つアプリケーション以外にもコンソール アプリケーションや、ユーザー コントロールが作成できます。
Excel VBA には作成できません。

VB 6.0 で作成したプログラムはコンパイルしてから配布します。
Excel VBA はコンパイル不要です。

VB 6.0 でコンパイルした配布物からソースコードを見破られることは (ほぼ) ありません。
Excel VBA はソースコード見放題ですので改変もすることができます。(パスワードを掛けてコードを保護することはできます)

VB 6.0 は実行ファイル *.exe を作成できます。
Excel VBA は作成できません。

VB 6.0 で作成した実行ファイルは VB 6.0 のランタイムがインストールていないと実行できません。
Excel VBA で作成した Excel ファイルは Excel がインストールされていないと実行できません。

VB 6.0 は開発の手助けをするコンポーネントやコントロールが販売されています。(いました)
これらはの中には Excel VBA でも使用できるものもありますが、使用できないものの方が多いです。

VB 6.0 は COM オブジェクトを扱えます。し...続きを読む


人気Q&Aランキング

おすすめ情報