すいませんC言語じゃありませんが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
PEGASUS

すいませんC言語じゃありませんが

#1

投稿記事 by PEGASUS » 15年前

学校でMicrosoft Visual Basic6.0を使用しプログラミングの勉強をしているのですが家でもできたらいいと思い、同じようなものかとExcelのVisual Basic Editorで授業でやったことを実行してみましたが、
「メソッド、またはデータメンバが見つかりません」となってしまいます。
ずばり、Microsoft Visual Basic6.0とVisual Basic Editorは違うものですか(コードとか)
そのた共通のコードや同じ意味で違うコードなど教えていただけませんか

softya

Re:すいませんC言語じゃありませんが

#2

投稿記事 by softya » 15年前

両方ともちょっと触ったことはあるけど、語れるほど詳しくありません。
VB6とVBA(Excel)は兄弟ですが、色々と違いがあるので完全な互換はありません。
VB6にしかないメソッドもありますし、VBAにしか無いメソッドもあります。

探してみましたが両者の相互移植をしている人を見つけられませんでした。
最新のVB2008もVB6との違いが大きすぎて、互換性が無いですよね。
お役に立てませんでしたね。

PEGASUS

Re:すいませんC言語じゃありませんが

#3

投稿記事 by PEGASUS » 15年前

すいません。もう少し具体的にします。
まず、Visual Basic EditorでLabel1(じゃなくても)に線や円、文字を表示するにはどうしたらいいですか

PEGASUS

Re:すいませんC言語じゃありませんが

#4

投稿記事 by PEGASUS » 15年前

> 両方ともちょっと触ったことはあるけど、語れるほど詳しくありません。
> VB6とVBA(Excel)は兄弟ですが、色々と違いがあるので完全な互換はありません。
> VB6にしかないメソッドもありますし、VBAにしか無いメソッドもあります。
>
> 探してみましたが両者の相互移植をしている人を見つけられませんでした。
わざわざありがとうございます。
やっぱりあきらめて学校でやろうかな・・・・

non

Re:すいませんC言語じゃありませんが

#5

投稿記事 by non » 15年前

VBを勉強するのなら、VBAとはだいぶ違いますので、どうせなら、Visual Basic 2008 Express Edition に
した方がいいですよ。VB6とも少し違うところはありますがVBAでやるよりは、ましでしょう。

たいちう

Re:すいませんC言語じゃありませんが

#6

投稿記事 by たいちう » 15年前

Excelのメニューで[ツール]-[マクロ]-[新しいマクロの記録]を選ぶことで、
次のようなサンプルが簡単に作れますよ。

ラベルは文字を表示するためだけのものですので、図形の描画はできません。
文字を書くだけならば次のMacro1のように、ラベルではないけど図形を描くならば、
Macro2のような方法があります。
Sub Macro1()
    ActiveSheet.Shapes("Label 1").Select
    Selection.Characters.Text = "新しいテキスト"
End Sub

Sub Macro2()
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 175.5, 182.25, 105#, 69.75). _
        Select
    Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
    Selection.ShapeRange.Fill.Visible = msoTrue
    Selection.ShapeRange.Fill.Solid
    Range("F23").Select
    ActiveSheet.Shapes.AddShape(msoShapeIsoscelesTriangle, 395.25, 108.75, 132.75, _
        120.75).Select
    Selection.ShapeRange.Line.ForeColor.SchemeColor = 12
    Selection.ShapeRange.Line.Visible = msoTrue
End Sub
# 何をやりたいのか分かりませんが、VBAにこだわらないならば、
# nonさんのアドバイスに同意。

Mikan

Re:すいませんC言語じゃありませんが

#7

投稿記事 by Mikan » 15年前

VB6.0にあったLineメソッドはVBAにはないみたいですね。

VBAはfor Applicationとあるように、かなり使うアプリに依存して作られています。
なので同じVBAでもかなりコーディングが変わってきます。

Excelであればセルメインのコーディングになりますし、
Accessであればデータベース、Wordは行とかカーソルとかですね。
なので、VB6.0の技術習得として使用するのは一概には良いとは言えません。

ExcelVBAで線を引くのであれば、たいちうさんの仰るように、シェイプを使って再現したり
APIなどを使えば出来るようです。
また、ユーザーフォームを使えばVB6.0のようなフォームが作れますよ。
※コントロールによってはコーディングが変わったような気がします。

作りたいものがあるならば、回答者の皆様もアドバイスがしやすいと思います。

PEGASUS

Re:すいませんC言語じゃありませんが

#8

投稿記事 by PEGASUS » 15年前

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

閉鎖

“C言語何でも質問掲示板” へ戻る