よく、COMコンポーネントって聞くんですが、何のことかわかりません。VBやVBAのような言語名ではないことは、なんとなく分かるのですが・・・。できるだけわかりやすく教えてください。

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

A 回答 (6件)

失礼ですが、クラスをご存知ないのであればCOMは多分


全く理解できないでしょうねぇ

クラスについても、ご自分で勉強が必要だとは思いますが
簡単に説明しておきます。
構造体(属性)に、関数(操作)を加え、カプセル化したものです。
従来のプログラミングでは、変数をばらばらに扱わず、
構造体と呼ばれる型に関係ある変数をまとめて、
プログラム中のデータ構造が明確になるようにしておきました。
そこで、この構造体に専属の関数を加えてしまえば、
その構造体は単独で自分の面倒をみることが出来るようになります。
それがクラスです。
その結果、プログラム中のデータや処理が、クラス単位で整理され、
それぞれ部品のように組み替えが可能になりました。

このように、クラス単位にプログラムを分割することで
巨大なプログラムを明瞭にする言語をオブジェクト指向言語といいます。

また、クラスには親と子があり、「継承」という考えを用いて
どんどんバージョンアップや特化を行うことが容易です。

VBで説明すると、
Dim value as A
として変数を宣言した場合、クラスは「A」です。
valueはオブジェクトや、インスタンスと呼ばれます。
valueを使って、Aに含まれる関数を呼び出して、valueを
操作することが出来ます。
value.Init()
等。

ざっくり説明するとこんな感じです。
詳細については、各言語の書籍を参照してください。

このようにして作ったクラスを、
・他の言語から使いたい
・ネットワーク経由で使いたい
などと言った機能を実現する、Microsoft提供の方法の一つが、
COMやDCOMと呼ばれるものです。
COMは、他のプログラムからの使いまわしに強いので、
一度作っておけば、VB、Delphiは勿論、VBScript、JavaScrips、WSHなどから
呼び出しが可能です。
また、COM自体のバージョンが上がっても、それを呼び出してる
プログラム自体には変更の必要がありません。
    • good
    • 4
この回答へのお礼

ありがとうございました。
非常に丁寧に御回答いただきありがとうございました。
仕事柄プログラムは使わないため、今は分からないことだらけですが、今後ともよろしくお願いします。
(今はASPでWEBアプリを作りたいと思ってます。)

お礼日時:2000/12/21 16:07

すいません、クラスオブジェクトではありません、


「クラス」でお願いします。

コンピュータが扱うデータは基本的にすべて数値ですが、
アスキーコードなど、ある範囲の数値を人間に見やすい
文字に変換可能なものを「テキスト」といいます。これはご存知の通り。
そして、そうでないものが「バイナリ」です。
つまり、BMPやJPEG,EXEはバイナリファイルです。
HTMLやJavaScript、ソースファイル等はテキストファイルです。

語弊を承知でより簡便に言うなら、「文字」しか書いてないのはテキスト、
文字以外の数値があるならバイナリです。

ソースファイルはテキストから、コンパイル・リンクの過程でバイナリファイルとなります。
COMオブジェクトは、この状態でないとなりませんので、
つまりソースが何の言語であったかなんてことは
どうでもよくなっている、ということです。

因みに、COMではC・C++でいうヘッダファイルの代わりに
IDLというインターフェイス定義言語という専用の簡易な言語を使います。
これは、ただの定義を記述する言語ですので非常に簡単で、どちらかというと
C言語みたいな、設定ファイルです。

この回答への補足

ありがとうございます。
なんとなく見えてきました。あとクラスってどういうことなんでしょう?クラスの意味がはっきり分かりません。

補足日時:2000/12/20 13:08
    • good
    • 0

ごめんなさい、説明が抜けました。


COMの特徴についてですが・・・

・インターフェイスの統一的な呼び出し手段がある
・参照カウンタを持つ

という重要な二点のことを説明忘れてました。
COMは、クラスオブジェクトですので継承によって
さまざまなインターフェイスが追加されて行きます。
それらを統一的に呼び出す手段として、QueryInterface
メソッドが存在してます。

参照カウンタは、COMが参照されるたびにインクリメントし
解放されるとデクリメントするカウンタ値です。
これが0になった時にメモリから削除されます。
Javaをご存知でしたら、GarbegeCorrectorと考えると分かり易いと
思います。
要するに、C++でも容易にメモリリークを防げる仕組み、と。

実際にCOMを作ってみるのでしたら、やはり書籍があると
助かると思います。
VBだと私はちょっと解りません。(簡単に出来ると思いますが)

この回答への補足

クラスオブジェクトってふつうのオブジェクトと何が違うのでしょうか?あと、バイナリってなんですか?
超基本的な質問ですみません。

補足日時:2000/12/19 11:33
    • good
    • 0

ComponentObjectModelの略です。


コンポーネントとは、ソフトウェアの部品として機能する
オブジェクトのことです。
関数との違いは、クラスとしてカプセル化してあるので
保守性・再利用性とともに、ブラックボックス化しているので
利用が簡単、という点もあります。

定義については他の方がおっしゃってる通りなので
COMを使うメリットと特徴について軽く説明しておきます。

また、ActiveXやDCOMなども含めて、COMといってしまうことが
多々有るようです。
CORBAをご存知なら、それに似たものと考えてください。

利点:
言語・処理系に依存しない(バイナリ)コンポーネント
つまり、VC++でCOMを作ってそれをVBやDelphiから自由に呼び出せる。
計量で高速なコンポーネントも設計可能。

実際のCOM作成について:
DLLとの違いは、DLLが関数ベースであるのに対して
COMは基本的にクラスベースなので、独立性・再利用性・保守性の高い
コンポーネントの作成が簡易です。
DLLでも一応クラスの形式を取ることは出来ますが、バージョンアップ時
インターフェイスが変わってしまうと問題があります。

COMではJavaのinterface,implimentに似た仕組みで
インターフェイスを統一できます。

ネットワーク越しに実行出来る(透過性)ものをDCOM、
GUI要素を持つCOMをActiveXなどと呼び分けるのが従来のようです。
これはMicrosoft社の技術の重要なポイントですので
Windows環境でプログラムを作る以上、押さえておかねばならない
ネジクギ的存在になってゆくことでしょう。
    • good
    • 0

COMとはバイナリをどのように作るかを示す規約で、ソフトウェアをコンポーネントで1つの管理単位とし、その中にあるオブジェクトを再利用可能にします。


ですから、COMで開発したソフトウェアは、すべてソフトウェアのバイナリの部品として再利用できます。

これ以上簡単な説明をしようとすると、いろいろと誤解が生じそうなので、とりあえずこんなところでしょうか。
    • good
    • 0

Microsoft Developer Network(MSDN)には、以下の


ように書かれています。
『COMとは』
COMはActiveXコントロールとOLEの土台となる
基本的な"オブジェクトモデル"です。COMによって、
オブジェクトの機能は、ほかのコンポーネントや
ホストアプリケーションに公開されます。COMは
オブジェクトの公開方法と、プロセス間、または
ネットワーク間での公開の動作方法を定義します。
また、COMはオブジェクトのライフサイクルも
定義します。

一応Windowsプログラムでは最近よく使われるように
なってきているようです。
#結構使うのは難しいですが・・・

もっと詳しく勉強したいのであれば、プログラムの
本が置いてある本屋さんに行って、本を購入しても
いいのではないでしょうか。

ではでは☆
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

QHDMI→コンポーネント(RGB)変換器の値段差の理由

HDMI→コンポーネント(RGB)変換器の値段差の理由

HDMI→コンポーネント変換器をヤフオクで検索したところ。
↓「1000円前後の変換ケーブル」と「10000円前後の小型変換装置」の様な2種類がありまし
た。
http://search.auctions.yahoo.co.jp/jp/search?p=HDMI%a1%a1%a5%b3%a5%f3%a5%dd%a1%bc%a5%cd%a5%f3%a5%c8&f=0x2&alocale=0jp&apg=1&s1=cbids&o1=a&mode=2&auccat=0

この二種は何が違うのでしょうか?

感覚的にはデジタル信号をアナログ信号に変換するのに1000円前後のただのケーブルではできないような気がするのですが。

ちなみ用途はCATVチューナー(JC4100)とテレビ(TH-42PWD5)の接続です。
1000円前後のほうが不適ならHDMI→コンポーネントは諦め、D端子→コンポーネントにしようと思っています。

Aベストアンサー

HDMIはデジタル端子ですから、1000円程度のケーブルなんかでは、アナログのコンポーネントやD端子に変換することは無理です。

一方、映像機器によっては、コネクタ数削減のため、一つのコネクタに別の種類の信号も出せるようにしているものがあります。
おそらく、1000円のケーブルの方は、そういう機器専用のケーブルなのだと思います。
(HDMI信号をコンポーネント信号に変換するのではなく、HDMI端子に出ているコンポーネント信号をコンポーネント端子に変換するだけの代物)
ですから、普通のHDMI出力機器に接続してコンポーネント出力を得ることはできません。



一方、D端子とコンポーネント端子は、端子形状が違うだけで、信号線の内容はまったく同じです。
(D端子は、端子形状がDの字に似ているからD端子という名前でして、流れる信号線はアナログです。デジタルではありません)

ですから、D端子←→コンポーネント端子は安価な変換ケーブルで接続できますし、変換で画質劣化などもありません。

D端子とコンポーネント端子の変換ケーブルで接続で問題ないでしょう。

QVB、VBS、VBAについて

全くの素人です。
VB、VBS、VBAについて素人にも分かるように簡単に教えて下さい。
また、これらはプログラマーにとって大事なスキルの一つでしょうか?

我侭な質問で申し分けないですが、宜しくお願い致します。

Aベストアンサー

大雑把ですが、目的別で、、、

・アプリケーション作りたいならVB
・ExcelやAccess上で何か気の利いた動作させたいならVBA
・てっとり早くちょっとしたことをしたいならVBS
という感じです。

私の場合VBSはあまり使いません。
大抵VBAかVBのデバッグモードで済ませます。

>これらはプログラマーにとって大事なスキルの一つでしょうか?
プログラマーと言っても範囲が広いので必ずしも必要とは限りません。
そっちが専門の知人が結構いますが、VBは全くわからない、、という人も意外といます。必要性がないだけでやればすぐに使えるとは思いますが。

プログラミング経験がなく、これからそのスキルを身につけていきたい、、というのであれば、VB(VBA/VBS)は入りやすい、、というのはあると思います。

QHDMIとコンポーネントと変換機(ロングケーブル)

宜しくお願いします。

720p対応(WXGA 1280x720)のプロジェクターと、DVDプレイヤーを接続予定なのですが、
ざっと計測して20mくらいの距離になりました。
(プロジェクターは天井吊です。)

スクリーンは、120インチワイドです。

最近では、HDMI 1.3aでも30mくらいは余裕で対応しているものがありますが高価です。

そこで、
コンポーネントで対応しようと思ったのですが(かなり安い)、
当然画質劣化が起こるかと思います。

質問ですが、

その1

コンポーネントでの画質の低下は、どの程度かと思われますか?
主観もあるかと思いますが、まあ素人が見て分らない範囲でしょうか?
それとも、明らかに違う?

その2

下記のような変換機を挟んでみる。
これだと、ケーブルそのままと何ら変わりありませんか?
DVD(HDMI) → 変換機(コンポーネント) → プロジェクター
(http://www.ysol.co.jp/hdmi/converter/cypress/cp283hd.html)

BDではなくて、通常のSDのDVD、PCからは基本出力する事はないという前提です。

やはり、コンポーネントで充分でしょうか?
いかがでしょう?

宜しくお願いします。

720p対応(WXGA 1280x720)のプロジェクターと、DVDプレイヤーを接続予定なのですが、
ざっと計測して20mくらいの距離になりました。
(プロジェクターは天井吊です。)

スクリーンは、120インチワイドです。

最近では、HDMI 1.3aでも30mくらいは余裕で対応しているものがありますが高価です。

そこで、
コンポーネントで対応しようと思ったのですが(かなり安い)、
当然画質劣化が起こるかと思います。

質問ですが、

その1

コンポーネントでの画質の低下は、どの...続きを読む

Aベストアンサー

プロジェクターでの経験はないですが、テレビでの場合はかなり違いました。

最初は画面の大きさの感動であまり気にしませんでしたが、
色のにじみ等が気になるので変えたところ明らかに違いました。

プロジェクターになると投影法が違うのでどうなのかわかりませんが、
プロジェクターを持ってる友人に以前聞きましたが全然違うと言ってました

QVBA・VB6.0・VB.NETの文字列型

 失礼します。

 Excel97/2000のVBAの文字列型変数は、アスキーコード129-159/224-252のデータを保持できないみたいですが、これはVB6.0/VB.NETなどでもそうなのですか?
 つまり、VBAでは、
Sub main()
 Dim s as String
 s = Chr$(130)
 Sheet1.Cells(1, 1) = Asc(s)
End Sub
 とすると、シートのA1に「0」が表示されてしまうということです。

 というのも、私はVB6.0/VB.NETを持っていないのですが、ちょっとVB2.0時代のコードを使う必要が生じたので、VBAで実行してみたところ、以上のような仕様の違いに気付いたのです。
 これがVBAだけの特性なのか、最近のVBはこういう仕様になってしまったのかが知りたいのです。

Aベストアンサー

たぶん、コード体系が変わったためです。

VB2.0のころは、Windows3.1やWindows95ですね。コードはシフトJISを使っていました。

現在Windows98以降はEUCという2bytコードをOSが使用してますので、プログラム自体は正しく動作しても、シフトJIS→EUCでは結果が変わりますので、そのようなことになっているのでは?

単純に文字列を設定すれば、自動的に変換がかかるので普通は気づかないのですが、ご質問のように文字コードそのものを設定する場合は結果が違ってきてしまう。という事でしょう。

QHDMI→コンポーネント端子の接続方法

下の商品を購入しました。

http://page22.auctions.yahoo.co.jp/jp/auction/l48895450?u=;tc770forged

HDMIを5本に分けてますが、2本は同期用だというのですが、接続方法が分かりません。

青・緑・赤・白・黄色の5本で、青・赤・緑が色で、白・黄色が同期用でしょうか。
同期とはなんでしょうか。
こんなに単純にHDMIがコンポーネントに変換できないと思うのですが、

Conponent Video to HDMI Converter (LKV354)

は、6本入力がありますが、こんな機器で変換するために分線するだけの商品なのでしょうか。

Gefen コンポーネント to HDMI変換機[Component Audio to HDMI Adapter New] EXT-COMPAUD-2-HDMIN

なら5本ですので、こんな機器で変換するためのケーブルだと思えばよいのでしょうか。

Aベストアンサー

#2 です

HDfury2 は 、古いブラウン管のHDTVや高価な3管プロジェクターを後生大事に使っている人のためのもので、
HDMIが使えるテレビを持っている人には、普通は要らない物です。

一応特徴は

1) HDMI から、 コンポーネント/RGB の映像信号と 光デジタル/アナログ2ch の音声信号を取り出せます。

2)暗号化されているHDMIの信号を解除してアナログ信号を出力できる。
アナログ出力が禁止されることが多いDVDのアップスケーラー出力がコンポーネント/RGB で出力できる

ちなみに、コンポーネント端子とD端子は信号的には同じなので変換ケーブルがあります。
私も、HDfury2 付属のコンポーネントケーブルからD端子のコネクタに変換してつなげています。

PS3でHDfury2 を使うメリットは、RGBで出力できるメリットですか。
古いDVI端子のモニターとかでは、暗号化には対応していないので、HDMIに変換しても映りません、
その場合、アナログRGBにつなげられます。

QVB6から#C or .NET VB どちらが易しい? OS or 言語

マシンが64bit対応なので VisualBasic6から #Cか .NET VBに書き換えて64bitで動作するように検討しています。

VS2005 Proは購入済みで、OSはWindowsXP x64 proか
Windows2003を検討しています。どちらがよいかわかっていないのですが、まず最初にプログラムをどちらにコンバートするか悩んでいます。

いっそC#の方が将来性があるのでしょうか?
また、.NET VBの方が書き換えが簡単でしょうか?

以前、VB6のプロジェクトファイルを開こうとしたら
なんか変換したような気かしましたが、フォームやメインが無かった?ようなへんてこなCが出来上がりました。

VBからの移行された方でどちらを選んだのか知りたいです。

Aベストアンサー

多少、混乱と誤解とがあるようです。

まず、Windows 2003という製品はありません。
おそらくはWindows 2003 Serverと間違えているのだと
思いますが、これは企業向けのサーバー用OSで開発用
ではありません。

それとVisual Studio .NET 2002 または .NET 2003の
Visual Basic .NET とVisual Studio2005 のVisual
Basic 2005 とはそれぞれ別製品です。

言語仕様も異なっている所がありますので、VB 2005を
使用しているのに、VB .NETと言って質問すると違った
解答が返ってくる場合があります。

#VS 2005 Proを購入されたという事ですが、仕事で
#使うには中途半端だし、勉強用ならExpress Edition
#が無料で入手できるので、若干微妙な選択の様な
#感じがしますが...

また、Visual Studioは32ビットアプリケーションです
から64ビットOS上で動かしても、32ビット互換モード
で動作するのみで、64ビットで動くわけではありません。

ここから本題
VB6からの移植であるなら、やはりVB 2005の方が言語的
にも近いので移植も楽なはずです。

C#は一見、C言語の様に見えますが、全く違う言語です
から移植及び移植後の追加修正を行う際に苦労する事
になると思います。

C#の将来性については、今までのMSの言語の発売傾向
からすると、1~3年ぐらいでマイナーチェンジを出し
5~6年ぐらいで、新技術の成果といって新しい言語を
出すという事を繰り返しているので、C#に関しても
同じ事が行われる事も考えられますが、逆に長く続く
という可能性もあります。

どちらになるかは、売上げ実績次第?

多少、混乱と誤解とがあるようです。

まず、Windows 2003という製品はありません。
おそらくはWindows 2003 Serverと間違えているのだと
思いますが、これは企業向けのサーバー用OSで開発用
ではありません。

それとVisual Studio .NET 2002 または .NET 2003の
Visual Basic .NET とVisual Studio2005 のVisual
Basic 2005 とはそれぞれ別製品です。

言語仕様も異なっている所がありますので、VB 2005を
使用しているのに、VB .NETと言って質問すると違った
解答が返ってくる場合があります。

...続きを読む

QD-Sub15ピン(アナログRGB)⇔コンポーネント・D端子変換※ケーブルのみで

最近マルチディスプレイにしようとモニタを2つ追加で買いました。

要所要所で今まで使っていたモニタと追加で買った2つのモニタ、全部で3つのモニタを使って個人的な作業をしているのですが、ネットサーフィンなどの基本的なことには今まで使っていたモニタをメインモニタとして、論文書くのにせいぜいデュアル…といった多くても2つのディスプレイで日常は過ごせています。

普段使わない1つをなにもせずに置いておくのももったいないので、テレビでも映すかと方法を考えたんですが、近くにDVDレコーダーがあるのでそこからハイビジョンの映像を送れないかと考えた結果、このようなもの(http://www.pcmura.jp/cable/component.htm)にたどり着きました。

そこで質問なんですが、タイトルのとおりアナログRGBとコンポーネントを直接このケーブルでつないだ場合映るのでしょうか?

アップ(ダウン)スキャンコンバータを普通に買えば当然映るのは分かっているんですが、資金面と手軽さから可能であるならばこのケーブルのみでできたらなと思っております。

いきなり買っちゃおうと思ったんですが、リンク先画像の赤で書かれた『但し、スキャンコンバート機能は無』の文字が気になってしまいました。

スキャンコンバータ機能自体は漠然とですが理解はしているつもりですが、
”DVDレコーダーからコンポーネント出力の信号を液晶ディスプレイのアナログRGBに入れた”
ときに、アップなりダウンなりのスキャンコンバートが必要なのかが全然検討もつきません(^_^;)

映るか映らないかを教えていただけるだけでもかなりありがたいですが、映るなら映る、映らないなら映らないでできればちょっとした解説をしていただけると助かります。(自分なりに少し調べてみたんですが検索ワードが悪いのか求めている情報は手に入りませんでした…)

よろしくお願いいたしますm(__)m

最近マルチディスプレイにしようとモニタを2つ追加で買いました。

要所要所で今まで使っていたモニタと追加で買った2つのモニタ、全部で3つのモニタを使って個人的な作業をしているのですが、ネットサーフィンなどの基本的なことには今まで使っていたモニタをメインモニタとして、論文書くのにせいぜいデュアル…といった多くても2つのディスプレイで日常は過ごせています。

普段使わない1つをなにもせずに置いておくのももったいないので、テレビでも映すかと方法を考えたんですが、近くにDVDレコーダー...続きを読む

Aベストアンサー

>アナログRGBとコンポーネントを直接このケーブルでつないだ場合映るのでしょうか?

写らないです。
ハイビジョン信号とVGAーコンポーネント信号とでは周波数やら映像方式が違いますので。
『但し、スキャンコンバート機能は無』というのは沿おう言う意味でかかれているんです。

QVBのコンポーネントについて

Visual Basicのコンポーネントの『Activex Data Object 2.5 Library』を使いたいのですが・・・ないのです。VersionはVB6.0 Enterpriseを使ってます。学校で使った時は(バージョンは違うと思うですが。多分Professionalだとおもうのですが)コンポーネントの項目にありました。Versionがかわると機能もつかわるのでしょうか?『Activex Data Object 2.5 Library』を使いたい場合どうすればいいのでしょうか?

Aベストアンサー

こんにちは。maruru01です。
それは、コンポーネントではなく参照設定です。
参照設定の中に、
「Microsoft ActiveX Data Objects 2.5 Library」
があります。
なお、当てられているSPによってバージョンは違うかも知れません。
では。

Qコンポーネントに変換できるケーブル

現在所持しているテレビにPCを接続したいのですが、コンポーネント接続しかありません。
PCにはHDMI、D-Sub15ピン、DVIがあるのですが、これらの端子からコンポーネントに変換できるケーブルなどないでしょうか。
もし知っている方がいましたら教えてください。お願いします。

Aベストアンサー

コンポーネント3端子ですか? 緑青赤の3本の映像ケーブル。これはD端子と同じ信号です。D端子<>コンポーネント3端子となったケーブルがある。

一般的なテレビはパソコンつなぐには適さないがやってやれないこともないレベルです(さほどきれいでもない)
変換BOX(セレクタの1種)はありそうだが高価で無意味でしょう。安価なパソコン買うくらいの値段です。

テレビにビデオ入力は必ずあるのでD-Sub15pin(3列15pin)とビデオ端子変換するダウンスキャンコンバータが安いときは5000円です。高いのは2万円、8000円あれば探しやすい。
http://buffalo.jp/products/catalog/item/s/sc-d4/
実売価格は7000円程度かもしれません。D4>コンポーネントのケーブルも買う。
必要なのはダウンスキャンコンバータです。(安価な変換方法)

でもD-Sub15pin端子持つディスプレイ買った方が安いかもしれませんよ。15型-17型なら1万円前後です。

QCOMコンポーネントファイルが参照できない。

現在VisualBasic2010expressを使っています。
オーディオの録音用プログラムを作りたいと思い
とあるホームページからwave入出力用のCOMコンポーネントファイル(.ocx)をダウンロードしました。
E:ドライブの「system32」の中に入れVBから「ツール→アイテムの選択→COMコンポーネント→参照」と操作しsystem32に入ってる目的のファイルを探したんですがどこにも見当たりません。
VBではなく普通に「sysytem32」を開いた場合は目的のファイルはきちんと存在します。
またVB上でも「system32」上ではなく「system」のフォルダに置いた場合は参照できます。
なぜ「system32」上だと参照できないんでしょうか?
読み取り専用、隠れファイル等もチェックを外してみたのですが変わりませんでした。
VBでファイル名を示し実行した場合は「そのファイルは存在しません」となります
使用しているOSはWindows8です。8が原因何でしょうか?
初歩的な質問で申し訳ありません。

Aベストアンサー

64ビットWindows8を前提に回答します。
外していたらOSの情報を記載すると、回答が得られやすくなると思います。

http://ja.wikipedia.org/wiki/WOW64
こういうものは関係しますでしょうか?

であれば、ocxはSysWOW64フォルダに格納することになります。
32ビットアプリケーションからSystem32フォルダを参照すると、SysWOW64へリダイレクトする仕組みになっているため、System32フォルダに格納したファイルを見つけられない、ということになります。
わかりづらいのですが、System32フォルダには64ビット版のバイナリが格納されています。

外していたらすみませんが明記がないので回答いたします。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング