発展1講座第1章 - 総称オブジェクト型

この講座は有料講座です。
講座の購入後ご覧になれます。

ログインアカウントの新規作成

解説

オブジェクト型には、「固有オブジェクト型」と「総称オブジェクト型」というものがあります。ここでは総称オブジェクト型から説明します。簡単にいうと、オブジェクトにニックネームを設定して、そのニックネームを使ってオブジェクトを操作することができるというものです。

この教材についての過去の質問・感想

11407 : 小川慶一の回答 (2019-05-19 02:06:09)

jinoseさん:

日本語では、技術用語で言うと、「オブジェクトへの参照」なのですが。
わかりにくいですね。
英語が得意な方向けであれば、「referenceを設定します」と言うともう少し通じやすいのですが、今度は、英語なので別の難しさが。

ということで、「ニックネーム」です。


> ならくのエピソードに笑いました。
>
> 新しい概念を身近な例に置換えて説明して下さるのでわかりやすいです!ありがとうございます。


11401 : jinoseさんのコメント (2019-05-14 16:51:25)

ならくのエピソードに笑いました。

新しい概念を身近な例に置換えて説明して下さるのでわかりやすいです!ありがとうございます。


10386 : 小川慶一の回答 (2018-08-11 18:43:33)

受講生 さん:

抽象概念に対しては、用語と意味の対応をしっかり頭の中で整理することが大切です。

> 小川先生。
> ご指摘ありがとうございます。
> そのとおりです。
>
> うっかり間違えていました。
> 思い込みって怖いです。
>
> > 受講生 さん:
> >
> > それは、「固有オブジェクト型」のほうではないかと... (^^;
> >
> > > 総称オブジェクト型
> > >  型を割り当てることで、マクロがすっきりする。しかもニックネームのつけ方で作業の中身が分かって大変便利。
> > >


10375 : 受講生さんのコメント (2018-08-10 17:37:10)

小川先生。
ご指摘ありがとうございます。
そのとおりです。

うっかり間違えていました。
思い込みって怖いです。

> 受講生 さん:
>
> それは、「固有オブジェクト型」のほうではないかと... (^^;
>
> > 総称オブジェクト型
> >  型を割り当てることで、マクロがすっきりする。しかもニックネームのつけ方で作業の中身が分かって大変便利。
> >


10353 : 小川慶一の回答 (2018-08-09 13:01:46)

受講生 さん:

それは、「固有オブジェクト型」のほうではないかと... (^^;

> 総称オブジェクト型
>  型を割り当てることで、マクロがすっきりする。しかもニックネームのつけ方で作業の中身が分かって大変便利。
>


10335 : 受講生さんのコメント (2018-08-07 08:04:09)

総称オブジェクト型
 型を割り当てることで、マクロがすっきりする。しかもニックネームのつけ方で作業の中身が分かって大変便利。


9358 : 小川慶一の回答 (2018-01-24 15:45:37)

受講生 さん:

> 発展編をすべて受講し終わってから実務でのマクロ作成が始まれば
> よかったのですが、思いがけず実務が先行してしまい、
> 目先の問題解決の方に追われています。

身体が基本動作を覚える前に理論を理解できるものではありません。
発展編1の演習はきちんとやっていますか。

> オブジェクト型変数についての理解が全体にぼやっとしているという意味です。
> 前回提示したマクロを、オブジェクト型変数を使用して書き直そうとして試みましたが、エラーにつぐエラーで挫折しました。

↑ここを読んで気づいたことは、以下の2つです。

【その1】理論と実践の2つを混同されています。
[理論] オブジェクト型変数についての理解
[実践] オブジェクト型変数を使った実装

【その2】課題が不適切です。
「前回提示したマクロを、オブジェクト型変数を使用して書き直す」というのは、幼児用の三輪車に自動車のエンジンを組み込むようなものです。
既存のプログラム(三輪車)と組み込みたい部品(自動車のエンジン)との規模感が合いません。


理論については、自分で自分用のメモをとりつつ、順番に動画を見ていってください。
それで、最初に疑問を感じたところはどこか?
そこで止まって、考えてください。そこまでに学んだことを使って、自分の言葉で自分に対して説明してみる。
それで、何が分かっていないのか分かります。
そのうえで、改めて質問してください。

実践については、演習をやることです。
受講生さんが用意した課題は前述のとおり不適切なので、僕が用意した演習をやってください。


> どこがわからないと特定できる人は、たぶん半分以上わかっていて、
> もう道半ばまで消化できた段階の方でしょう。
> 私はまだそれ以前だということです。

仮説がおかしいです。
「どこがわからないと特定できる人は、たぶん半分以上わかっていて」というのはあなたの空想です。

あなたは、どのようにして、自分で自分を分からないままでいさせようとしていますか?


9356 : 受講生さんのコメント (2018-01-24 13:54:20)

ご回答への返事が遅くて申し訳ありません。

動画のどこがわからないというよりも、
オブジェクト型変数についての理解が全体にぼやっとしているという
意味です。前回提示したマクロを、オブジェクト型変数を使用して
書き直そうとして試みましたが、エラーにつぐエラーで挫折しました。

どこがわからないと特定できる人は、たぶん半分以上わかっていて、
もう道半ばまで消化できた段階の方でしょう。
私はまだそれ以前だということです。

発展編をすべて受講し終わってから実務でのマクロ作成が始まれば
よかったのですが、思いがけず実務が先行してしまい、
目先の問題解決の方に追われています。

オブジェクト型変数を使用しなくても動くようなので、実務優先で
今後の課題としてペンディングいたします。
gooska


9353 : 小川慶一の回答 (2018-01-19 13:24:12)

受講生 さん:

> オブジェクト型がまだ全然わかっていないです。

この動画の何分何秒から理解できないということでしょうか。
あるいは、別の動画かな?
まずは、そこを明示してください。

提示いただいたマクロ自体は悪くはないです。

やり方はともあれ、手元の課題を解決できるということは立派ですよ。

ところで、 thisworkbook と activeworkbook は指すものが異なります。
発展編1のテキストを読んで、その違いをまずは理解してください。いただいたマクロの中身についてのお話については、まずはそこから。


9351 : 受講生さんのコメント (2018-01-19 11:43:52)

小川先生、こんにちは。 gooskaです。
オブジェクト型がまだ全然わかっていないです。
今職場で、「操作するファイルと別のところにマクロを置いて動かす」
「操作するファイルに名前をつけて保存する(元のファイル名にBKUPをつけた形で保存」という問題に取り組んでいます。

Sub una0117_005()

Dim f As String
f = ThisWorkbook.Name '現在操作するブックのファイル名を取得
Dim fname As String
Dim kugiri As Long
kugiri = InStr(f, ".xlsm")


Range("A1").Value = f 'ファイル名取得のチェック
Range("A2").Value = InStr(f, ".xlsm") '拡張子までの文字数をチェック
Range("A4").Value = Left(f, InStr(f, ".xlsm")) '拡張子を除くファイル名を切りとれたかのチェック
fname = Left(f, InStr(f, ".xlsm"))

ActiveWorkbook.SaveAs Filename:=fname & "BKUP.xlsm"
              'ファイル名+BKUPでファイル保存する

End Sub

これで動くことは動くのですが、無理やり感があります。
オブジェクト型変数を使う場合、
どんなふうにすればよいのかわかりません・・( ノД`)
お助けいただけないでしょうか。
gooska


4837 : 小川慶一の回答 (2015-08-11 10:03:33)

虫谷吉男 さん:

オブジェクト型についての理解は、僕も初心者のころにひっかかったことのひとつです。
大きな山を越えられたかと思います。ひきつづき応援しています。


>今まで本を読んでも総称オブジェクト型のメリットがわかりませんでしたが、説明を聞いて、マクロを書いてみて、プログラムがわかりやすくなるのだなと理解できました。
>また、as Long とかの区別も理解することができました。


4813 : 虫谷吉男さんのコメント (2015-08-08 16:42:03)

今まで本を読んでも総称オブジェクト型のメリットがわかりませんでしたが、説明を聞いて、マクロを書いてみて、プログラムがわかりやすくなるのだなと理解できました。
また、as Long とかの区別も理解することができました。


2762 : 小川慶一の回答 (2014-10-21 07:55:00)

匿名 さん:

技術者向けに説明しなおすと、オブジェクト型変数はオブジェクトへの参照を設定します。
Visual Basicでは、変数へのデータの代入と参照設定で構文が分かれます。後者は set [var] = [object] という構文になります。

まずはそのくらいで。
ひきつづきよろしくお願いいたします。


>最後に受講してから時間が空いてしまいました。
>再度やり直そうと始めていて「あれっ?これって何だっけ」と思ったのがObject型でした。
>復習して何だったのか思い出せたので、これで再開できます!


2754 : 受講生さんのコメント (2014-10-19 18:05:08)

最後に受講してから時間が空いてしまいました。
再度やり直そうと始めていて「あれっ?これって何だっけ」と思ったのがObject型でした。
復習して何だったのか思い出せたので、これで再開できます!


2677 : 小川慶一の回答 (2014-10-09 07:03:54)

匿名 さん:

初登場ですね。投稿ありがとうございます。
「Object型って何?どう役に立つの?」というところは、僕もマクロを習得する過程でつまづいた箇所でした。
簡単に乗り越えていただければうれしいです。

>Object型って何を指しているんだろうと思いましたが、
>動画を見て納得でした!


2666 : 受講生さんのコメント (2014-10-06 22:35:28)

Object型って何を指しているんだろうと思いましたが、
動画を見て納得でした!


2023 : 小川慶一の回答 (2014-08-21 04:32:26)

匿名 さん:

可読性、メンテナンス性が大きく向上します。
ぜひ活用してください!

>Setを使ってニックネームを割り当てるという部分は、自分でも必ずしもやってきたことではなかったので、これからは癖付けしていきます。


2017 : 受講生さんのコメント (2014-08-20 16:28:15)

Setを使ってニックネームを割り当てるという部分は、自分でも必ずしもやってきたことではなかったので、これからは癖付けしていきます。


3日がかりのその仕事、3分で終わらせる方法教えます。ガラパゴスタディーオンライン講座 ユーザー登録

本講座の動画一覧

  1. 【動画1】 発展1講座イントロダクション - 使用するファイル、PDFの確認
    【動画1】 発展1講座イントロダクション - 使用するファイル、PDFの確認 未習得
  2. 【動画2】 発展1講座イントロダクション - デバッグ イミディエイトウィンド
    【動画2】 発展1講座イントロダクション - デバッグ イミディエイトウィンド 未習得
  3. 【動画3】 発展1講座第1章 - オープニング 第1章1
    【動画3】 発展1講座第1章 - オープニング 第1章1 未習得
  4. 【動画4】 発展1講座第1章 - オープニング 第1章2
    【動画4】 発展1講座第1章 - オープニング 第1章2 未習得
  5. 【動画5】 発展1講座第1章 - データの「型」1
    【動画5】 発展1講座第1章 - データの「型」1 未習得
  6. 【動画6】 発展1講座第1章 - データの「型」2
    【動画6】 発展1講座第1章 - データの「型」2 未習得
  7. 【動画7】 発展1講座第1章 - 変数の初期値
    【動画7】 発展1講座第1章 - 変数の初期値 未習得
  8. 【動画8】 発展1講座第1章 - ハンガリアン記法
    【動画8】 発展1講座第1章 - ハンガリアン記法 未習得
  9. 【動画9】 発展1講座第1章 - 変数宣言の強制1
    【動画9】 発展1講座第1章 - 変数宣言の強制1 未習得
  10. 【動画10】 発展1講座第1章 - 変数宣言の強制2
    【動画10】 発展1講座第1章 - 変数宣言の強制2 未習得
  11. 【動画11】 発展1講座第1章 - 総称オブジェクト型
    【動画11】 発展1講座第1章 - 総称オブジェクト型 未習得
  12. 【動画12】 発展1講座第1章 - 固有オブジェクト型
    【動画12】 発展1講座第1章 - 固有オブジェクト型 未習得
  13. 【動画13】 発展1講座第1章 - バリアント型
    【動画13】 発展1講座第1章 - バリアント型 未習得
  14. 【動画14】 発展1講座第2章 - オープニング 第2章
    【動画14】 発展1講座第2章 - オープニング 第2章 未習得
  15. 【動画15】 発展1講座第2章 - コレクション
    【動画15】 発展1講座第2章 - コレクション 未習得
  16. 【動画16】 発展1講座第2章 - コレクション(インデックス)
    【動画16】 発展1講座第2章 - コレクション(インデックス) 未習得
  17. 【動画17】 発展1講座第2章 - コレクション(インデックス)の具体例
    【動画17】 発展1講座第2章 - コレクション(インデックス)の具体例 未習得
  18. 【動画18】 発展1講座第2章 - プロパティ 従属要素のオブジェクト
    【動画18】 発展1講座第2章 - プロパティ 従属要素のオブジェクト 未習得
  19. 【動画19】 発展1講座第2章 - プロパティ 上位のオブジェクト
    【動画19】 発展1講座第2章 - プロパティ 上位のオブジェクト 未習得
  20. 【動画20】 発展1講座第2章 - プロパティ 同レベルのオブジェクト
    【動画20】 発展1講座第2章 - プロパティ 同レベルのオブジェクト 未習得
  21. 【動画21】 発展1講座第2章 - プロパティ 値として表現できるデータ
    【動画21】 発展1講座第2章 - プロパティ 値として表現できるデータ 未習得
  22. 【動画22】 発展1講座第2章 - プロパティ Offset
    【動画22】 発展1講座第2章 - プロパティ Offset 未習得
  23. 【動画23】 発展1講座第2章 - プロパティ Offsetの使い方
    【動画23】 発展1講座第2章 - プロパティ Offsetの使い方 未習得
  24. 【動画24】 発展1講座第2章 - End プロパティの使い方
    【動画24】 発展1講座第2章 - End プロパティの使い方 未習得
  25. 【動画25】 発展1講座第2章 - メソッド1
    【動画25】 発展1講座第2章 - メソッド1 未習得
  26. 【動画26】 発展1講座第2章 - メソッド2
    【動画26】 発展1講座第2章 - メソッド2 未習得
  27. 【動画27】 発展1講座第3章 - マクロの自動記録 イントロダクション
    【動画27】 発展1講座第3章 - マクロの自動記録 イントロダクション 未習得
  28. 【動画28】 発展1講座第3章 - マクロの自動記録 オートフィルタ1
    【動画28】 発展1講座第3章 - マクロの自動記録 オートフィルタ1 未習得
  29. 【動画29】 発展1講座第3章 - マクロの自動記録 オートフィルタ2
    【動画29】 発展1講座第3章 - マクロの自動記録 オートフィルタ2 未習得
  30. 【動画30】 発展1講座第3章 - マクロの自動記録 フォントの設定
    【動画30】 発展1講座第3章 - マクロの自動記録 フォントの設定 未習得
  31. 【動画31】 発展1講座第3章 - マクロの自動記録 カラーインデックス
    【動画31】 発展1講座第3章 - マクロの自動記録 カラーインデックス 未習得
  32. 【動画32】 発展1講座第3章 - マクロの自動記録 アンダースコア
    【動画32】 発展1講座第3章 - マクロの自動記録 アンダースコア 未習得
  33. 【動画33】 発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能
    【動画33】 発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能 未習得
  34. 【動画34】 発展1講座第3章 - マクロの自動記録 途中改行2
    【動画34】 発展1講座第3章 - マクロの自動記録 途中改行2 未習得
  35. 【動画35】 発展1講座第3章 - マクロの自動記録 並べ替え
    【動画35】 発展1講座第3章 - マクロの自動記録 並べ替え 未習得
  36. 【動画36】 発展1講座第3章 - マクロの自動記録 個人用マクロブック
    【動画36】 発展1講座第3章 - マクロの自動記録 個人用マクロブック 未習得
  37. 【動画37】 発展1講座第4章 - 論理演算子 イントロダクション
    【動画37】 発展1講座第4章 - 論理演算子 イントロダクション 未習得
  38. 【動画38】 発展1講座第4章 - 論理演算子 解説
    【動画38】 発展1講座第4章 - 論理演算子 解説 未習得
  39. 【動画39】 発展1講座第4章 - 構造文 イントロダクション
    【動画39】 発展1講座第4章 - 構造文 イントロダクション 未習得
  40. 【動画40】 発展1講座第4章 - For Each構文 イントロダクション1
    【動画40】 発展1講座第4章 - For Each構文 イントロダクション1 未習得
  41. 【動画41】 発展1講座第4章 - For Each構文 イントロダクション2
    【動画41】 発展1講座第4章 - For Each構文 イントロダクション2 未習得
  42. 【動画42】 発展1講座第4章 - For Each構文 イントロダクション3
    【動画42】 発展1講座第4章 - For Each構文 イントロダクション3 未習得
  43. 【動画43】 発展1講座第4章 - For Each構文 演習
    【動画43】 発展1講座第4章 - For Each構文 演習 未習得
  44. 【動画44】 発展1講座第4章 - For Each構文 伝票作成マクロ解説
    【動画44】 発展1講座第4章 - For Each構文 伝票作成マクロ解説 未習得
  45. 【動画45】 発展1講座第4章 - For Each構文 セルのコレクション
    【動画45】 発展1講座第4章 - For Each構文 セルのコレクション 未習得
  46. 【動画46】 発展1講座第4章 - For Each構文 カンニングペーパー
    【動画46】 発展1講座第4章 - For Each構文 カンニングペーパー 未習得
  47. 【動画47】 発展1講座第4章 - Do Loop構文 概要
    【動画47】 発展1講座第4章 - Do Loop構文 概要 未習得
  48. 【動画48】 発展1講座第4章 - Do Loop構文 マクロの流れ
    【動画48】 発展1講座第4章 - Do Loop構文 マクロの流れ 未習得
  49. 【動画49】 発展1講座第4章 - Do Loop構文 4つのパターン
    【動画49】 発展1講座第4章 - Do Loop構文 4つのパターン 未習得
  50. 【動画50】 発展1講座第4章 - Do Loop構文 マクロの強制終了
    【動画50】 発展1講座第4章 - Do Loop構文 マクロの強制終了 未習得
  51. 【動画51】 発展1講座第4章 - Exit For、Exit Do、Exit Sub
    【動画51】 発展1講座第4章 - Exit For、Exit Do、Exit Sub 未習得
  52. 【動画52】 発展1講座第4章 - Select Case 概要
    【動画52】 発展1講座第4章 - Select Case 概要 未習得
  53. 【動画53】 発展1講座第4章 - Select Case If文との比較
    【動画53】 発展1講座第4章 - Select Case If文との比較 未習得
  54. 【動画54】 発展1講座第4章 - Select Case 比較する条件の順番
    【動画54】 発展1講座第4章 - Select Case 比較する条件の順番 未習得
  55. 【動画55】 発展1講座第4章 - Select Case 複数条件の並べ方
    【動画55】 発展1講座第4章 - Select Case 複数条件の並べ方 未習得
  56. 【動画56】 発展1講座第4章 - Select Case 条件の範囲選択
    【動画56】 発展1講座第4章 - Select Case 条件の範囲選択 未習得
  57. 【動画57】 発展1講座第5章 - Sub プロシージャの分割と呼び出し
    【動画57】 発展1講座第5章 - Sub プロシージャの分割と呼び出し 未習得
  58. 【動画58】 発展1講座第5章 - Sub プロシージャを分割するメリット
    【動画58】 発展1講座第5章 - Sub プロシージャを分割するメリット 未習得
  59. 【動画59】 発展1講座第5章 - ステップアウト、ステップオーバー
    【動画59】 発展1講座第5章 - ステップアウト、ステップオーバー 未習得
  60. 【動画60】 発展1講座第5章 - モジュールレベル変数
    【動画60】 発展1講座第5章 - モジュールレベル変数 未習得
  61. 【動画61】 発展1講座第5章 - モジュールレベル変数の操作
    【動画61】 発展1講座第5章 - モジュールレベル変数の操作 未習得
  62. 【動画62】 発展1講座第5章 - モジュールレベル変数 変数の重複
    【動画62】 発展1講座第5章 - モジュールレベル変数 変数の重複 未習得
  63. 【動画63】 発展1講座第5章 - モジュールレベル変数 まとめ
    【動画63】 発展1講座第5章 - モジュールレベル変数 まとめ 未習得
  64. 【動画64】 発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定
    【動画64】 発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定 未習得

塾長 小川慶一

メニュー

コメント紹介

もっと見る

ページの先頭へ