トップページtech
1001コメント350KB

Excel VBA 質問スレ Part32

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/10/07(月) 22:19:55.86
ExcelのVBAに関する質問スレです

★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。

★2 ExcelのVBA以外の部分に関する質問はNGです。
   但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。

★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。

 VBAとは、『Visual Basic for Applications』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。

★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
   コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
   ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。

★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)

前スレ:Excel VBA 質問スレ Part31
http://toro.2ch.net/test/read.cgi/tech/1376371376/

関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0439デフォルトの名無しさん2014/01/11(土) 23:13:09.99
数百回くらいなら昨今のPCなら全然問題ないレベルでしょ
その程度の処理量を更に削る為に労力を使う方が、初心者らしい愚行だよ

力業でも0.2秒で終る処理を、0.1秒で終るようにするための模索に
何十分や何時間の時間を浪費するとか、バカバカしくてやってられん
04404332014/01/11(土) 23:33:47.37
>>439
1発で比較&間引きをしてくれる魔法のコードがあるかと思いましたが、無いようで、、 
ありがとうございました。
0441デフォルトの名無しさん2014/01/11(土) 23:34:47.28
今時は性能の高いパソコンを買ったり借りたりするほうが安いもんな
その時間で別の仕事したほうが効率いい

とはいえ、一定以上の効率をもったコードを常に書けるだけの能力を持っていたいとは思うね
そうすりゃパソコン借りる時間が減る=金まわりがよくなるからな
0442デフォルトの名無しさん2014/01/11(土) 23:38:38.28
俺もフィルタ機能で一発解決だと思うが
なぜダメなのかよくわからんな
0443ピラフ2014/01/11(土) 23:40:07.65
調査結果と表番号でソートしてカットアンドペーストでやっちゃえば現実的にもいけそうじゃない?
04444332014/01/12(日) 00:27:32.65
>>442 443
データーが欠落した状態で結果のみが別のブックへ書き出されている状態でしてフィルタがかけられない状態かと思います。
(フィルタ機能を完全熟知してないので間違っているかもしれませんが)
自分の知識不足ですみません 激しく堂々巡りをしているようですので本日は一旦落ちます。。
0445デフォルトの名無しさん2014/01/12(日) 00:51:33.87
1から1000までの連続した整数から
ランダムに存在する特定の数値をスマートに間引く方法 (2,3,5,7,10・・ こういう数を一括削除する)

うまい方法は無いでしょうか?
数時間考えましたが全く解決方法が見つからず吐きそうなのでもう寝ますw
0446デフォルトの名無しさん2014/01/12(日) 01:07:43.46
>>445
その数値が一定の法則に従っていない以上、順次検索して間引くしかないわけだが

間引く元シートは準備されてるのか?
だったらそこから結果のシート(ブック)参照して結果有るかないかチェックする列つくって
その列でフィルタすればVBAなんか使わなくてもいいぞ

まあVBAでやるなら>>438のやり方でいいんじゃね
0447デフォルトの名無しさん2014/01/12(日) 01:31:20.39
>>445
状況がよく分んないけど、
ADO使ってシートにそういうSQL
投げてやればいいんじゃないの?
0448デフォルトの名無しさん2014/01/12(日) 03:18:51.28
awkなどで、よくある処理だよ

列(フィールド)の区切りは、スペースかタブ?
すべての行の最初の列(表番号)だけを抜き出して、
ファイルAに保存する
(Excelの画面でもできる)

ファイルAをsortコマンドで、
数字でソートして、ファイルBに保存する
(Excelの画面でもできる)

(ここで表番号の重複を考えて、念のために、
ファイルBをuniqueコマンドで、
連続した重複行を除いて、ファイルCへ出力する
ファイルB、Cの行数を比較する
行数が異なっていたらエラー?)

ループ変数をインクリメントさせながら、
ファイルBを1行ずつ読んで、数字を突き合わせる
ファイルBに存在しない数字を、
ファイルDへ出力する
04494482014/01/12(日) 03:20:52.50
一方、ここからは、最初のファイルが、
表番号順に並んでいない時の処理です

最初のファイルから、1行ずつ、
最初の列(表番号)を抜き出して、
連想配列のキーとして、
その値に、2列目から改行までを代入する

ファイルBを1行ずつ読んで、
その数字をキーとして、
連想配列の値を取り出して、文字列を連結する

このように処理は、細かく単機能に分けると、
バグを減らせます
sort + uniqueも、よくあるパターン
04504482014/01/12(日) 03:33:07.53
>449 自己レス
Excelの画面で、
表番号でソートするだけで出来るわw
04514482014/01/12(日) 03:44:48.55
>>445
まず幾つかのランダムな数字をソートして、
ファイルAへ出力する
(Excelの画面でもできる)

ループ変数をインクリメントさせながら、
ファイルAを1行ずつ読んで、数字を突き合わせる
ファイルAに存在しない数字を、
ファイルBへ出力する
04524482014/01/12(日) 05:49:03.84
diffで差分を取る方法もある

まず幾つかのランダムな数字をソートして、
行区切りで、ファイルAへ出力する
(Excelの画面でもできる)

Excelの画面の、自動ナンバーで、
1-1,000の千行を代入し、ファイルBとして保存する

diffで、両者の差分を取る
0453ピラフ2014/01/13(月) 21:17:31.14
>>445
えと、数列の差を求める方法と、要素を削除する方法があって
それぞれこんな感じ。
http://uploda.cc/img/img52d3d869b7f67.png

これらを組み合わせるとできるはずよ。

コードはこんな感じで
https://friendpaste.com/1ooShGbBWBLAPVIitWTlDD?rev=303435326666
0454デフォルトの名無しさん2014/01/13(月) 21:24:07.27
コードってその人のクセが出るよね
全大文字化とかの表面的なところを隠しても
0455ピラフ2014/01/13(月) 21:45:43.48
>>453
完全に間違ってた、こっちで
https://friendpaste.com/1ooShGbBWBLAPVIitWTlDD

>>454
そういうのあるよね。ピラフはCAPICOMのサンプルコードを参考にしてる。
インデントは空白3文字で変数名はアッパーキャメルケース。
変数の宣言は使う直前。
0456デフォルトの名無しさん2014/01/13(月) 21:47:01.99
出来るだけ個性を出さないように変数を減らそうとして
with を使いまくったら個性的過ぎると怒られたことがある。
0457ピラフ2014/01/13(月) 21:49:50.33
>>456
ガハハ、ピラフガハハ。
Withブロックマスターを名乗ったら言いと思うよ。
0458デフォルトの名無しさん2014/01/15(水) 12:12:50.31
なぁ、ピラフ
桃白白しらない?
0459デフォルトの名無しさん2014/01/15(水) 13:02:26.08
知らないって答えるに決まってるだろ
その問に知ってるって答えるくらいなら、初めからコテ変えなんてしない



とかマジレスしてみる
まあ>>458も、その辺を把握している上でのツッコミなんだろうけどw
0460デフォルトの名無しさん2014/01/16(木) 02:24:37.89
With With の 中 With から 外 With を 使うにはどうすれば
0461デフォルトの名無しさん2014/01/16(木) 02:34:02.86
>>460
Withの使用を辞めることだ。
0462デフォルトの名無しさん2014/01/16(木) 02:34:59.47
むかしこのスレにいた、かなりExcelやVBAに詳しい固定の名前の人はどこ行った?
ちょっと性格は変だけどスキルはあったし丁寧に回答してた人。
0463デフォルトの名無しさん2014/01/16(木) 03:26:21.55
>>461
なるほど。勉強になります。ありがとうございます。
0464デフォルトの名無しさん2014/01/16(木) 09:11:14.50
>>462
たんすの前で何を着て出てくるか悩んでるよ
0465デフォルトの名無しさん2014/01/16(木) 09:47:10.65
>>462
何人か居るけど、誰のこと言ってるの?
0466デフォルトの名無しさん2014/01/16(木) 09:51:25.46
>>460
Parentプロパティ
0467デフォルトの名無しさん2014/01/16(木) 15:38:16.99
亀仙人のことじゃね
0468デフォルトの名無しさん2014/01/18(土) 15:56:54.23
ExcelVBAのコードから
あるフォルダにある画像ファイル(ファイル名は選択範囲のselectされたセルの中)をすべて縮小(たとえば70%)して上書き保存させるにはどうすればいいですか?
他のフリーソフトの助けを借りるのでもいいです。
0469デフォルトの名無しさん2014/01/18(土) 16:30:55.58
>>468
その処理の内、何処まで出来てて、どこが解らないの?

まさか、1から全部コード書いて差し出せとか言わないよね?
04704682014/01/18(土) 16:44:55.37
>>469
画像縮小だけがわかりません。
下が自作コードです。

=====================================
Sub Unko()
Dim C As Range
Const PATH As String = "C:\Manko"
For Each C In Selection
SizeSmall (PATH & "\" & C.Value)
Next C
End Sub

Sub SizeSmall(F As String)
■■■ここが分からないのです■■■
End Sub
=====================================
0471デフォルトの名無しさん2014/01/18(土) 17:02:29.21
>>470
つ ImageMagick

WinAPI使う方法とか、ActiveX導入する方法とか、Imageコントロール使う方法とかいろいろあるけど
とりあえずImageMagickで目的は果たせるから、それ以上を望むなら勝手に勉強してね
0472デフォルトの名無しさん2014/01/18(土) 17:03:29.95
>>471
バカじゃねw
04734702014/01/18(土) 17:13:43.13
>>471
ありがとうございます。
これですね。
http://ja.wikipedia.org/wiki/ImageMagick
素晴らしそうですね。

ところが質問です。
[Q1] WikiにVBAと書いてないけど大丈夫ですか?
[Q2] VBAのコードに書くにはどんな呪文を唱えればいいですか?
0474デフォルトの名無しさん2014/01/18(土) 17:16:26.19
ImageMagickはVBAで使えないよw
04754702014/01/18(土) 17:17:25.84
>>474
神に誓いますか?
0476デフォルトの名無しさん2014/01/18(土) 17:19:37.65
>>474
コマンドラインで使うのに、VBAも糞も無いだろw
0477デフォルトの名無しさん2014/01/18(土) 17:20:30.89
>>475
何をですか?
0478デフォルトの名無しさん2014/01/18(土) 17:20:33.50
>>476
糞は便器の中にありますよ
0479デフォルトの名無しさん2014/01/18(土) 17:21:40.19
>>476
誰がコマンドで使うと言いましたか?
ImageMagickはVBAで使えない
~~~~~~~~~~~~~~~~~~~~~~~~~~
0480デフォルトの名無しさん2014/01/18(土) 17:29:32.87
荒らしにかまうなの法則
0481デフォルトの名無しさん2014/01/18(土) 17:42:38.57
苦しい言い訳の荒らしなど放置の方向で
0482デフォルトの名無しさん2014/01/18(土) 17:46:54.09
今回「コマンドラインから利用できるソフト」の存在を知りましたが
世の中に出回ってるフリーソフトの何割くらいがこの「コマンドラインからの利用」に対応してますか?

「コマンドラインからの利用」ができればどうにかすればVBAでも使えるんだろ?使える気がする。だから可能性が広がる。
0483デフォルトの名無しさん2014/01/18(土) 18:23:38.44
有名なフリーソフトウェアであるHello World!だけでも数万種は公開されてるよ。
0484デフォルトの名無しさん2014/01/18(土) 23:22:26.46
VBAにファイルではなく画像として取り込めたよね
コピーして別アプリに張り付けるとかならやったことあるけど
プロパティでサイズってないのかな?
0485デフォルトの名無しさん2014/01/18(土) 23:23:46.33
ってまんこ画像かよ
0486デフォルトの名無しさん2014/01/18(土) 23:25:41.07
質問者も回答者もどっちもスベってるパターン最近多いよね
0487デフォルトの名無しさん2014/01/19(日) 00:19:07.25
そして、解ってないのに上から目線でツッコミ入れる滑稽な奴もねw
0488デフォルトの名無しさん2014/01/19(日) 07:42:05.86
>プロパティでサイズってないのかな?

Microsoft Shell Controls And Automation に参照チェックして出来る
というか以前自分のPCのフォルダに有る画像一覧のサイズを貼り付けるのを作ったことはあるけどね
0489デフォルトの名無しさん2014/01/19(日) 08:26:53.48
>>484
画像のサイズは基本的にヘッダに格納されてるから、バイナリ読めば解るし
StdPictureオブジェクトに格納すれば、Twips単位での取得は簡単にできるよ

でも、ファイル名とかは、ファイル名を書き換えるだけで意味があるけど
画像サイズは、ヘッダのサイズを書き換えても、画像データを変換しなければ
画像の実サイズとヘッダ上に記されたサイズ情報が不整合を起こすだけなので
サイズプロパティがあれば、サイズ変更が出来るってものじゃない
重要なのは「情報」の書き換えではなく「実体」の変換だからね
塩の入った容器のラベルを「砂糖」に貼り替えても、中身の入れ替えをしなかったら
中身は塩のままなのと同じ
0490デフォルトの名無しさん2014/01/19(日) 11:52:49.86
フォルダ下の画像ファイルじゃなくて
Excelワークシートに貼り付けられた画像ファイルの縮小をしたいんじゃないかと思うんだが
0491デフォルトの名無しさん2014/01/19(日) 23:10:35.11
VBAって、プロパティとメソッドがあるからオブジェクト指向なんだと思うけど
クラスモジュールを使うことはないの?
どの入門書でも標準モジュールしか扱ってない。
0492デフォルトの名無しさん2014/01/19(日) 23:36:56.50
入門書で扱ってなければ、もう少しレベルの高い本探そうとか思わんのかね
04934912014/01/19(日) 23:49:52.75
>>492
そんな本ありますか?
0494デフォルトの名無しさん2014/01/20(月) 00:16:34.66
ありますん
04954912014/01/20(月) 01:10:09.85
>>494
その書の名は?
0496デフォルトの名無しさん2014/01/20(月) 01:18:10.65
>>495
自分で検索もできないような人間にクラスが使えるとは思えないけど、ほれ
http://www.kinokuniya.co.jp/f/dsg-01-9784816336515
04974912014/01/20(月) 01:39:46.17
>>496
2003じゃないか。
売り切れじゃないか。
0498デフォルトの名無しさん2014/01/20(月) 02:04:59.15
>>497
国外追放レベルのバカだな

Excelのバージョンが変わってもクラスの使い方なんてほぼ同じだし、本屋はここ1軒だけじゃないし
世の中には図書館という便利な物がある

この程度のこといちいち教えなきゃわからんのか
おまえはプログラミングするな質問するなするな迷惑だ
04994912014/01/20(月) 02:23:26.65
>>498
もともとおかしいんだよ、きみの顔は。
http://blog-imgs-48.fc2.com/a/y/a/ayaushi/201303301847509b1.jpg
0500デフォルトの名無しさん2014/01/20(月) 07:17:48.73
反論につまってそういう幼稚なレッテル貼りに走るのって
自分の品位を貶めるだけの行為だって気付かないのかな?

まぁ>>498も口が悪いが
「確かにその通りだけど、国外追放レベルはヒドス・゚・(つД`)・゚・ 」
くらいの、余裕を持った返しが出来る大人になろうぜ
0501デフォルトの名無しさん2014/01/20(月) 07:22:07.74
>>491
まぁVBAでそんなに無理してまでクラスモジュールを使わなくてもコードは組めるってことだね。
本当にきちんとクラスについて勉強したいなら、JavaやC#を勉強した方がいい。
VB.Netですらデザインパターンを踏襲した様なきちんとした本は見たことが無い。
0502デフォルトの名無しさん2014/01/20(月) 08:19:32.85
>>491
継承とかコンストラクタに引数渡せないとかたいして便利じゃないから
あとクラス毎にモジュール作ることになるけどモジュールを階層で管理する機能とかないから面倒だし
0503デフォルトの名無しさん2014/01/20(月) 08:43:55.01
便利じゃないと感じるのはスキルが低いからだろ

そりゃ昨今のメジャーな言語と比べて、相対的に便利かと言ったら便利じゃないけど
どの言語を使うかって話ではなく、VBAを使う上でクラスを活用するかどうかって話では
他言語と比べて便利かどうかという相対的な話ではなく、絶対的に便利かどうかであって
その観点で見れば、スキルさえあれば十分便利に活用できる
いろいろ不足はあってもどかしい部分も多いけど、使わないよりは使った方が遙かに便利という意味でね
0504デフォルトの名無しさん2014/01/20(月) 10:46:52.40
>>503
その例えで行くなら、VBAを使う上でクラス有りとクラス無しを比較して相対的にどうか、って考えなきゃ
0505デフォルトの名無しさん2014/01/20(月) 11:54:18.37
だからそういう話でしょ?
0506デフォルトの名無しさん2014/01/20(月) 14:18:53.69
>>502
インターフェイス継承はできるし、どうしても引数ありでオブジェクトを作りたいならFactoryメソッドを作ればいい。

> あとクラス毎にモジュール作ることになるけどモジュールを階層で管理する機能とかないから面倒だし
機能毎にアドインにまとめればいいんじゃないかな。
0507デフォルトの名無しさん2014/01/20(月) 14:37:20.31
例えば、
http://www.objectclub.jp/community/memorial/homepage3.nifty.com/masarl/article/dp-ocp-2.html
の音符の例。

Note.cls:
Public Sub Play()
End Sub

Half.cls:
Implements Note
Private Sub Note_Play()
Debug.Print "play half"
End Sub

Quater.cls:
Implements Note
Private Sub Note_Play()
Debug.Print "play quater"
End Sub

(続く)
0508デフォルトの名無しさん2014/01/20(月) 14:38:35.12
(続き)
Staff.cls:
Private mNotes As New collection

Public Sub AddNote(ByRef aNote As Note)
mNotes.Add aNote
End Sub

Public Sub Play()
Dim aNote As Note
For Each aNote In mNotes
aNote.Play
Next
End Sub

Module1.bas:
Sub PlayStaff()
Dim myStaff As New Staff

myStaff.AddNote New Half
myStaff.AddNote New Quarter
myStaff.AddNote New Half

myStaff.Play
End Sub

という感じでVBAでも実現可能。
(Collectionが順番を保証しないというのは、今回は無視)
0509デフォルトの名無しさん2014/01/20(月) 14:53:56.46
ん?CollectionってAddした順で取り出せないの?
0510デフォルトの名無しさん2014/01/20(月) 15:09:55.04
>>509
基本的にはAddした順だけど、仕様としてそれは保証されてない
0511デフォルトの名無しさん2014/01/20(月) 22:32:00.44
VBAのcolletionって、Addするときに位置指定があるんだが
指定位置勝手に変わると話にならんわけだが、ホントに保障されてないのか?
0512デフォルトの名無しさん2014/01/20(月) 22:59:04.99
>>511
仕様見ればわかることを他人に聞くな
0513デフォルトの名無しさん2014/01/21(火) 00:04:41.49
>>491
Object指向言語というより
Object指向に片足突っ込んだ構造化言語かな。

どうもMicroSoftはこんな片足突っ込んだような状態が好きなのか、
.Netフレームワークも関数型言語に片足突っ込んだObject指向言語っぽいよね。

「Object指向は考え方」って人もいるだろうけど、VBAの場合は上のレスに有ったような
面倒なストラテジーパターンも、.Netではシュチュエーション次第でもっと簡単なテンプレートパターンで書けるしね。
0514デフォルトの名無しさん2014/01/21(火) 01:11:35.57
>>503
>>502 は別に他の言語と比較してる訳じゃないんだが...
まあ、使いたいなら使えばいいんじゃね?
スキル誇示したいお年頃みたいだし (w
0515デフォルトの名無しさん2014/01/21(火) 06:25:03.06
>>506
インターフェース継承って何?
このコードの内、何が何を継承してるの?
見た感じ、インターフェースを実装して
処理を移譲することで似たような効果をもたらしているだけにしか見えないんだけど。
0516デフォルトの名無しさん2014/01/21(火) 08:12:19.84
>>506
こういうのを得意気に語ってた時期もあったなぁ... (遠い目)
0517デフォルトの名無しさん2014/01/21(火) 09:30:04.82
>>514=>>516
皆に否定されて悔しかったんだね...わかります (w
0518デフォルトの名無しさん2014/01/21(火) 10:10:47.90
>>502
こういうのを得意気に語ってた時期もあったなぁ... (遠い目)
0519デフォルトの名無しさん2014/01/21(火) 10:25:24.40
>>515
用語等については異論もあるでしょうが、重要なのは>>507のリンク先のC++のポリモーフィズム同等のことがVBAでも実現できることです。
この範囲で実現できるものであれば、VBAでもクラスが活躍できます。

それから、言わずもがなですが、クラスを使うことによるカプセル化の恩恵も受けます。
このことは、xUnitと親和性が高いです。

それと、WithEventsを使ったExcelオブジェクトとのEventを介したやり取りも便利です。
0520デフォルトの名無しさん2014/01/21(火) 16:57:10.56
webページのあるURLの「ショートカットファイル」」をデスクトップに作るにはどういうコードを書けばいいですか?

INPUT: URL
OUTPUT: 「ショートカットファイル」 on デスクトップ

ファイル名はなんでもいいです。
0521デフォルトの名無しさん2014/01/21(火) 16:58:07.68
>>520
スレ違い
0522デフォルトの名無しさん2014/01/21(火) 20:11:15.04
>>520
中身は単なるテキストファイル、拡張子はurl、そんだけ
05235202014/01/21(火) 21:40:16.22
>>522
でもメモ帳では開けないですよ。
0524デフォルトの名無しさん2014/01/21(火) 21:40:19.01
ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0525デフォルトの名無しさん2014/01/21(火) 21:58:29.65
>>519
で?
よく分んないけど、これを継承と言うなら
これでフォームやボタンを継承して
何か作ってみてよ。
0526デフォルトの名無しさん2014/01/21(火) 22:06:05.11
>>523
普通に開ける
0527デフォルトの名無しさん2014/01/21(火) 23:07:21.24
>>517
まあ、がんばれ (w
05285232014/01/22(水) 00:26:27.94
>>526
あ、ひらけた
でも、バイナリファイルになってるんですよ
0529デフォルトの名無しさん2014/01/22(水) 02:37:51.49
>>528
そいつは拡張子がlnkじゃないか?
IEのお気に入りの中のどれかを開いてみ
0530デフォルトの名無しさん2014/01/22(水) 02:39:50.87
ググれば出てくるような話じゃないですかああああああああああああああ
0531デフォルトの名無しさん2014/01/22(水) 03:53:34.96
>>525
負け惜しみはその辺にしとけ
0532デフォルトの名無しさん2014/01/22(水) 07:37:22.14
>>531
あー負け惜しみ、負け惜しみ。
負け惜しみでもなんでもいいから
早く>>525をやってみてくれよ。
場合によって継承は移譲で代用出来るというだけのことを
なんでわざわざ「インターフェース継承」なんて言っちゃうのか。
用語の違い云々って言ってるけど、デザインパターンどうのと言ってるところの
リンク貼ってるくらいだから
その観点からも継承と移譲はそれぞれどう言う時に使うかの違いくらいは分かってるんだろ?
ポリモーフィズムなんてのは100も承知で言ってるんだよ。
移譲はあくまで移譲であって、継承の代用に出来る場合があるだけで
用語の違いとかじゃなくて、そもそもが全くの別物だろ。
0533デフォルトの名無しさん2014/01/22(水) 07:42:27.38
> あー負け
まで読んだ

素直でよろしい
0534デフォルトの名無しさん2014/01/22(水) 10:40:37.99
>>532
> 早く>>525をやってみてくれよ。
VBAで「継承」ができるとは誰も言ってないと思います。

> なんでわざわざ「インターフェース継承」なんて言っちゃうのか。
かなり昔から、VBA(VB6)のimplementsを使ったコレのことを「インターフェース継承」と言う人が多いです。
語源は、Microsoftかもしれません。
なお、Microsoftはコレのことを委譲とは言わず委任と言っているようです。

> 5.1.3| 事前バインディングによるポリモーフィックなプログラム
> Visual Basic 6の開発者は、さらにもう1つの別の方法で継承を実装することができます。それは、いわゆる
> 「インターフェイスの継承」と呼ばれる方法です。この魅力的な名前は、Implementsステートメントを使用する
> 非常に一般的な方法を表しています。この方法では、基本クラスからメソッドのシグネチャだけを「継承」し、
> その実装は継承しません。したがってこの場合にも、実際の処理を行うすべてのプログラムは、それぞれの
> 開発者の責任において記述しなければなりません。
http://msdn.microsoft.com/ja-jp/library/dd297718.aspx
0535デフォルトの名無しさん2014/01/22(水) 13:42:42.47
>>532
> 移譲はあくまで移譲であって、継承の代用に出来る場合があるだけで
> 用語の違いとかじゃなくて、そもそもが全くの別物だろ。

イジョウを正しく変換できない奴にあれこれ言われたくないが、同じか別物かなんて
ことはどうでもいいことで、それで何ができるのかが重要。
0536デフォルトの名無しさん2014/01/22(水) 13:47:58.08
不毛な言葉遊びはよそでやってくれ
なんにしても言葉の定義なんてTPOで変化するんだから水かけあったって無意味だろ
0537デフォルトの名無しさん2014/01/22(水) 13:51:58.32
定期的に「VBAのクラスなんか不要・役立たず」って言う奴でてくるね
0538デフォルトの名無しさん2014/01/22(水) 14:01:12.25
過疎スレなのにちょっとでも自分の気に入らない流れになると止めたがる奴
■ このスレッドは過去ログ倉庫に格納されています