Excel VBA 質問スレ Part51 at TECH
[2ch|▼Menu]
[前50を表示]
450:デフォルトの名無しさん
17/12/14 01:01:13.61 oVDd8Fug0.net
ここまで答えなしだが
誰もわからないのか?

451:デフォルトの名無しさん
17/12/14 01:01:34.43 oVDd8Fug0.net
おれの質問ってVBAの穴をついた?

452:デフォルトの名無しさん
17/12/14 01:04:09.93 0XKK4N9O0.net
質問の意味がわからないんですよね
何が疑問なのか、独自表現を用いずに、
set やなんかも省略せずに正しく動作するコードと
動作しない理由が知りたい動かないコードを書いてみてもらえます?

453:デフォルトの名無しさん
17/12/14 01:05:31.95 FrwGQASIx.net
>>428
workbooksは、workbookクラスではない
別のオブジェクトのクラスだ
それから、さっきも書いたが、Openメソッドの戻り値は引数で指定されたパスを持つWorkbookオブジェクトなのであって、Openメソッドによってパス自体が戻ってくる訳ではない
パスを返してくるApplicationクラスのGetOpenFilenameメソッドとは全く働きが違う
プロパティやクラスや引数の名前で何となくbookとかfileとか付けばパス付のWorkbookオブジェクトが返ってくるものと混同してるようだが、きちんと区別しないといけない

454:デフォルトの名無しさん
17/12/14 01:13:20.35 FrwGQASIx.net
>>438
Openメソッドが要求する名前付き引数Filenameに、GetOpenFilenameで取得したパスを設定して、その結果新しく開いたWorkbookオブジェクトが返っているからだよ
このFilenameはApplication.GetOpenFilenameメソッドの戻り値ではあるけど、Workbooks.Openメソッドの戻り値ではない
Worksheets.Item(Index:=ActiveSheet.Name)みたいな処理と一緒だと言えば少しは分かるか?

455:デフォルトの名無しさん
17/12/14 01:13:59.17 FrwGQASIx.net
>>440
突いてない
典型的な初心者の質問

456:デフォルトの名無しさん
17/12/14 01:17:18.86 LaUulqGP0.net
典型ではないな
低次元な初心者の質問

457:デフォルトの名無しさん
17/12/14 01:22:45.67 FrwGQASIx.net
たぶんこの質問者は、コレクションを知らないタイプだな、
それから、式に含まれるプロパティ名やメソッド名をオブジェクトのクラス名と同一視しているタイプだろう

458:デフォルトの名無しさん
17/12/14 01:34:07.25 n2gI2QxJ0.net
たぶんハイパーリンクでパスが表現される事が多いところから、
パスが文字列とは異なるデータ型を持つ何かだと勘違いしてるだけじゃないの?

459:デフォルトの名無しさん
17/12/14 07:32:56.86 oVDd8Fug0.net
>>443
workbooks.open filename:=Application.GetOpenfilename
この場合はworkbooksオブジェクトに選択したパス文字列が格納されるのか?
だからworkbook型に格納できるのか?

460:デフォルトの名無しさん
17/12/14 07:37:06.65 oVDd8Fug0.net
>>446
ん?
workbooks
worksheets
rows
これはコレクションだろ?
コレクションはオブジェクトの最上位
プロパティはオブジェクトの何?
メゾットはオブジェクトに命令
違うか?

461:デフォルトの名無しさん
17/12/14 07:40:17.60 oVDd8Fug0.net
マジでわかりやすい答えがない

462:デフォルトの名無しさん
17/12/14 08:30:04.65 mohvOYX1x.net
>>448
君の言う「格納」は、コレクションへのオブジェクトインスタンスの追加、プロパティ値の設定、変数への代入、引数の受け渡し等がごちゃごちゃになっていると思う
まず、Workbooksコレクションに、データの代入はできない
WorkbooksコレクションはWorkbookオブジェクトの集まりを要素に持つコレクションオブジェクトだから
それから、Workbooks.Open Filename:=Application.GetOpenFilenameという構文は、Workbook型の変数に値を代入しているわけではない
Filenameという名前付きで定義されたOpenメソッドの文字列型の第一引数に値を渡していて、その結果としてOpenメソッドがWorkbookオブジェクトを返しているわけで、オブジェクト型変数への代入ではない

463:デフォルトの名無しさん
17/12/14 08:45:33.01 YV9D93CW0.net
>>449
コレクションは最上位じゃない
一番上にあるのはオブジェクト

464:デフォルトの名無しさん
17/12/14 08:46:43.07 QIiUylbtp.net
>>451
いやそんなのしってるんだけど
dim i string
dim wb workbook
application.Getopen filename:=で目的のファイルを開く
そしたら「¥:目的のワークブック.xlsx」が文字列として帰って来る
workbooks.open filename:=目的のファイル
これで初めて目的のファイルが開く
ここで本題
どちらも目的のファイルのバス名が返ってきているのに
set wb = application.GetOpen filename
だとエラーで
set wb = workbooks.open (filename :=目的のワークブック.xlsx)
これならwbオブジェクト型変数に代入される意味がわからない
これをはっきり答えろ
わかりやすくな

465:デフォルトの名無しさん
17/12/14 08:47:18.91 QIiUylbtp.net
>>452
一番上

最上
日本語やり直したほうがいい

466:デフォルトの名無しさん
17/12/14 09:00:03.55 n2gI2QxJ0.net
>>453
Set wb = Application.GetOpenFilename
は、String型をWorkbook型のポインタへ代入しようとしてエラー吐いてる。
Set wb = Workbooks.Open(Application.GetOpenFilename)
Set wb = Workbooks.Open("目的のワークブック.xlsx")
は、OpenメソッドにString型変数を渡しているから機能する。

467:デフォルトの名無しさん
17/12/14 09:02:02.66 QIiUylbtp.net
>>455
workbook型のポインタってなに?
これがわかればすっきり

468:デフォルトの名無しさん
17/12/14 09:02:04.79 CHPwg0pDx.net
>>449
コレクションはオブジェクトの最上位、という発想がそもそも間違い
コレクションは子要素に追加されているデータやオブジェクトへのアクセス等を提供する、子要素からは独立したオブジェクトだ
更に、WorkbooksコレクションオブジェクトはWorkbookオブジェクトのみを要素に持つようにあらかじめ最適化された規定のコレクションオブジェクト

469:デフォルトの名無しさん
17/12/14 09:05:19.87 QIiUylbtp.net
>>455
WB型変数に文字列代入は不可
メゾットの戻り値の代入は可能ってこと?
なんで?

470:デフォルトの名無しさん
17/12/14 09:05:51.56 YV9D93CW0.net
>>454
日本語だけ知ってても言語仕様を正確に説明する難しいんだよ
コンピューター業界では「上位」などの言葉には特別な意味を持たせる場合もあるし、
とくに相手がド素人だと、言葉の意味から説明するのも面倒だから、あえて上位という単語は避けた上で
なんとなく通じてくれそうな「上」って言い方をしたんだよ
お前の態度が気に入らないからワッチョイ Spc7はNGするわ
人に何か質問する時は最後までていねいな言葉を使え

471:デフォルトの名無しさん
17/12/14 09:07:28.47 QIiUylbtp.net
>>459
うんこーwwwwwwwwwwうんこーwwwwwwwwww

472:デフォルトの名無しさん
17/12/14 09:08:52.24 CHPwg0pDx.net
>>453
そもそもApplication.GetOpenFilenameはブックを開いてブックへの参照を返すメソッドじゃなくて、ユーザーにダイアログ画面上で選択させたファイルのパスを返すメソッドなんだが
メソッド名で混乱してるだろ君

473:デフォルトの名無しさん
17/12/14 09:11:20.55 QIiUylbtp.net
>>461
いやしってるけど
キャンセルが押されたらフェイルスだし
選択したらパス名が返って来る
何回言えば気がすむんだよ

474:デフォルトの名無しさん
17/12/14 09:12:47.30 QIiUylbtp.net
Openメゾットはただブックを開くだけだろ?
ただし 引数を戻り値として得られる
つまり 開いたファイル名がOpenメゾット内にある
違うかい?いい線いってる?

475:デフォルトの名無しさん
17/12/14 09:13:02.91 n2gI2QxJ0.net
>>458
なんでも何もデータ型が一致するかどうかが問題であって、メソッドの戻り値の型は一致するってだけ。
たぶんJavaScriptから始めたせいで認識がおかしくなってるんだろうけど、
普通はデータ型が異なる変数同士の代入は出来ない。

476:デフォルトの名無しさん
17/12/14 09:14:18.68 CHPwg0pDx.net
この質問者みたいな人が言語仕様について思い込みや勘違いをしたまま共用マクロを組んだりすると、会社にとって迷惑なだけなんだよな
作ったマクロを他人と共有しないことを祈るのみ

477:デフォルトの名無しさん
17/12/14 09:20:19.35 CHPwg0pDx.net
>>462
それ俺がきのう説明したことだよねw
オブジェクト型変数にGetOpenFilenameから返った文字列型データやデータ配列を設定しようとしてるのがおかしいんだがw
データ型とか一回学んだ方が良いと思うよ
それから蛇足だけど、フェールスじゃなくて、フォルス、フォールス、ファルスの何れかの表記にしないと、Falseのことだと理解してもらえないことが多いと思うよ

478:デフォルトの名無しさん
17/12/14 09:25:08.03 CHPwg0pDx.net
>>463
引数の文字列は戻り値にならない
Openの戻り値はWorkbookオブジェクトの実体だ
Workbookオブジェクトの実体とパス文字列はイコールじゃない
それから、メゾットじゃなくてメソッドな
あんまり特徴的な言葉づかいしてるとメゾット君と
フェールス君とか呼ばれたりするかもしれないから気を付けなよ

479:デフォルトの名無しさん
17/12/14 09:30:34.82 QIiUylbtp.net
>>467
実体でなに?どころどころで補足質問しねえといけねえのかよ

480:デフォルトの名無しさん
17/12/14 09:31:25.92 QIiUylbtp.net
>>464
変数同士?
workbook型あとは何?
これも補足質問

481:デフォルトの名無しさん
17/12/14 09:32:51.20 QIiUylbtp.net
>>466
データ型の参考ページは?
猿でもわかるやつ

482:デフォルトの名無しさん
17/12/14 12:17:27.13 7XekaZVWx.net
>>470
その言い方は猿に対して失礼だぞメゾット君
WordやPowerPointのVBAと違ってExcelは「Excel VBA データ 型」でググれば腐るほど情報が出てくるから、好きなページを読んで出直してきたらいいさ
インスタンスもググってみたらいいよ

483:名無し
17/12/14 12:34:50.44 DWbie50BM.net
>>468
Workbookの実体とは開いて実行しているエクセルブックのことだよ。ブックはVBAが管理しているメモリ上のデータではないってこと。そこにアクセスする為の情報だけがWorkbook型変数には格納されている。
これ以上はググったほうがいいな。メゾットちゃんには言葉だけでは通じないみたいだし。

484:デフォルトの名無しさん
17/12/14 12:36:44.73 bra/P7/Ad.net
どう考えてもこいつは型も文法も戻り値も


485:理解できてないだけだろ



486:デフォルトの名無しさん
17/12/14 12:45:31.15 PlqHEg1vH.net
インスタンスはお湯かけて3分で完成するよ
(´・ω・`)b

487:デフォルトの名無しさん
17/12/14 13:37:10.14 D0PQd/9/a.net
体系だてた答えがほしいならオブジェクト指向あたりの本読んだ方がいいんじゃねえの
正確にはオブジェクト指向じゃないけどクラスとインスタンス(やそれにくっついてるメソッドやプロパティ)の関係を理解するにはそれがはや道だわ
ここは教科書じゃないから

488:デフォルトの名無しさん
17/12/14 14:17:01.84 QIiUylbtp.net
なんでぱぱっと答えられねえの?頭悪いの?

489:デフォルトの名無しさん
17/12/14 14:18:03.10 QIiUylbtp.net
>>472
ふーん
開いてから格納する
これだけだよね?詰まる所は

490:デフォルトの名無しさん
17/12/14 14:27:22.00 QIiUylbtp.net
Openメソッドで開かないと
workbook型に入らない

491:デフォルトの名無しさん
17/12/14 14:28:58.06 oiVEYMPnp.net
それは結果に過ぎない
ちゃんと原因や理屈を押さえないとまた同じことで詰むぞ

492:デフォルトの名無しさん
17/12/14 14:49:26.55 QIiUylbtp.net
>>479
それをわかりやすく教えて
ほんとにわかりやすく

493:デフォルトの名無しさん
17/12/14 14:51:48.29 /xE3TN/oa.net
>>480
無理だよ

494:デフォルトの名無しさん
17/12/14 15:05:19.17 QIiUylbtp.net
>>481
別の言葉に置き換えればいいだろ?

495:デフォルトの名無しさん
17/12/14 15:22:14.17 yqG/N6/gM.net
ID:QIiUylbtpはVBA以外の言語知ってるの?
それともExcel VBAで初めてプログラミングに触れましたって人?
お前の学習レベルがわからないからお前でもわかるように説明できないんだ

496:デフォルトの名無しさん
17/12/14 15:43:20.73 Sk339KZTa.net
ここには、彼の疑問に答えられるような人はいない。
こんぴゅうたーのでんげんをいれるとどうしてえくせるがうごくのかをせつめいするのはむずかしい。
でんきにはつうでんしてるときとつうでんしていないときがあるのでそれをりようしてぜろといちをくべつできる。
ぜろといちをくべつできればにしんすうをりようして...

497:デフォルトの名無しさん
17/12/14 17:51:08.32 Gx1HQ3cua.net
大体教えてもらう立場のやつがとる態度じゃないからまともに取り合ってもらえると思ってる時点で頭が悪い

498:デフォルトの名無しさん
17/12/14 18:34:15.80 Dm16MIru0.net
初心者なのに態度悪いからNGにしたわ。
教えてもらう態度じゃないよね。子供ならまあ納得だけど。

499:デフォルトの名無しさん
17/12/14 19:23:24.80 IXGcMbV0a.net
そもそもWorkbooksに指定するのはエクセルファイル名じゃない。
ブック名だ。
開いたブックのブック名とファイル名が同じになるから勘違いしてる奴もいるかもしれんが。

500:デフォルトの名無しさん
17/12/14 19:24:50.30 oezENCsV0.net
同じだったらファイル名でええやんw何鼻息荒くしてんの?w

501:デフォルトの名無しさん
17/12/14 20:32:08.46 g1PrWAQxx.net
>>487
恐らく>>486はWorkbooks.Itemの引数について話してるんだろうだが、君にはそのあたりが分からんみたいだな

502:デフォルトの名無しさん
17/12/14 20:33:08.02 g1PrWAQxx.net
>>489
安価間違えた、これは>>488

503:デフォルトの名無しさん
17/12/14 21:01:41.06 bra/P7/Ad.net
>>455
をもとに考えてみた
お金を入れるとカップにジュースが注がれる自販機を思い浮かべるんだ
Set wb = 'ジュースが入るカップ
Workbooks.Open( _'お金を判別してボタンが押されるとジュースを出す回路
Application.GetOpenFilename _'お金
)
→お金を入れてボタンを押したらカップにジュースが注がれる
Set wb = Application.GetOpenFilename
→カップに直接お金を入れて飲めないと騒ぐあほ
どうだ!?

504:デフォルトの名無しさん
17/12/14 21:06:22.48 zDxHi8mM0.net
>>453
お前バカだろ
変数wbはただの入れ物
workbook型しか入れられない入れ物にString型入れようとしてんだぞ?
これでわからないならただのバカだから二度と来るな

505:デフォルトの名無しさん
17/12/14 21:25:56.75 oezENCsV0.net
>>492
おまえのカアチャンは誰でも受け入れるのにwbって意外と固いんだな

506:デフォルトの名無しさん
17/12/14 21:27:02.90 QIiUylbtp.net
>>492
うん
それはしってるよ
でもworkbooks.Openでも同じだよね
文字列帰って来るよね

507:デフォルトの名無しさん
17/12/14 21:32:46.73 QIiUylbtp.net
application.getOpenfilename
→あ.xlsxを選択
C:¥あ.xlsx が帰って来る
workbooks.Open filename:=application.getOpenfilename(つまりC:¥あ.xlsx)
ん?どっちもパス付きのブック名じゃねえの?
ってことをいってる

508:名無し
17/12/14 21:55:08.02 5D+dY0yO0.net
>>495
文字列として返ってきたから文字列型と思ってるなら、一回workbook型をウォッチに入れてみたら?
ツリー形式でオブジェクトの、中身が見れるから全然別ものだとわかるはず

509:デフォルトの名無しさん
17/12/14 21:58:53.83 zDxHi8mM0.net
>>494
バーカw
"C:\うんち.xlsx"がworkbooks型の変数に代入できる分けないだろw
まあデフォルトプロパティなんてものが罪なんだが
てか、workbooks型のデフォルトプロパティってNameプロパティなんだな(Pathか?)
はじめて知ったわ、使わんから

510:デフォルトの名無しさん
17/12/14 22:19:18.62 cH/6/SdG0.net
Application.GetOpenFilename → 指定したファイルのパス【String型(正確にはVariant)】を取得
Workbooks.Open → filenameに【String型でファイルパスを指定】すると
そのファイルを開いた結果の【Workbook型オブジェクト】を取得
Dim str as String
Dim wb as Workbook
str = Application.GetOpenFilename →OK
str = Workbooks.Open(Application.GetOpenFilename) →NG
Set wb = Application.getOpenfilename →NG
Set wb = Workbooks.Open(Application.GetOpenFilename) →OK
オブジェクトブラウザーを見ると勉強になるよ
それぞれ、こうなっている
Class Application
Function GetOpenFilename()
Class Workbooks
Function Open(Filename As String) As Workbook

511:デフォルトの名無しさん
17/12/14 23:32:44.97 IXGcMbV0a.net
>>488
違う。
新規ブックの場合はファイル名じゃないだろ。
理解出来て無い奴に理解出来る奴向けの説明をしても駄目だ。

たまたま同じになってもブック名はファイル名じゃ無い。
だからパス付きだろうがパス無しだろうがファイルはファイルだと考えても、それとは関係ないブック名は違う。
C:¥abcd.xlsxというファイルとブック名としてのabcd.xlsxとは何の関連も無い。
似たように見えるのはたまたまだ。
だからC:¥abcd.xlsxはブック名には成りようがない。
>>495
Application.GetOpenFilenaneで帰ってくるのは"C:¥あ.xlsx"という文字だけな。
Excelブックとは関係ないファイル名だな。
例えばメモ帳で適当に入力して保存したファイルでも取ってこれるだろ。
それに別に"C:¥あ.xlsx"はExcelじゃないと開けないというわけでも無いぞ。
そもそも"C:¥あ.xlsx"はApplication.GetOpenFilenaneで取ってきたからファイル名だろうけど、取ってきた後のその文字列は=ファイル名とは限らん。
Dim wb As Workbook
Dim strFile As String
strFile=Application.GetOpenFilename
ってのはstrFileにたまたまApplication.GetOpenFilenameによってファイル名が入ったということで、
Set wb = Workbooks.Open(strFile)
のstrFileがファイル名かどうかは分からん。
このー文はApplication.GetOpenFilenameのことなんか知らんからな。
このー文の意味するところはstrFileをファイル名と思って開いてみて、開けたらwbに格納するってこと。

512:デフォルトの名無しさん
17/12/14 23:34:29.57 oVDd8Fug0.net
短くわかりやすくまとめられるやついねえの?
いくらVBAができたって引き継ぎができない奴は無能なんだが

513:デフォルトの名無しさん
17/12/14 23:41:16.00 oVDd8Fug0.net
俺もずっとROMってたけど
こいつらの説明はマジで意味不明だわ
お、良い線言ってんな って思ったらいきなりカタカナ語がでてきてググっても意味不明
こいつらマジもんのコミュ障すぎてイラつきしかない
オナニー発言ばっかで答えがない
Apllcation.GetOpen
でaaaっていうエクセルを開く
C:\aaa.xlsx が返ってくる
しかしWB(Workbookオブジェクト変数にしている)では指定できない
でも
Workbooks.Open filename:=Apllcation.GetOpen
これはWorkBook型に入る
つまるところどっちもC\aaa.xlsxって文字列を


514:返してんじゃねえの?何がちげえの?ってこと これいうの10回目ないい加減学習しろイラつくな



515:デフォルトの名無しさん
17/12/14 23:44:38.82 oVDd8Fug0.net
こいつらのたとえ
子供がリンゴを指さす
「これなに?」
こいつら
「これは物質○○が含まれて○○っていう色素があって赤い、つまり栄養は○○がふくまれている
ちなみにその栄養は○○って物質にも入っている」ドヤァ
って感じ
見ててムカつくから発言したわ

516:デフォルトの名無しさん
17/12/14 23:46:05.94 oVDd8Fug0.net
おれが聞きたいのは
なんでワークブックスオープンで指定したファイル名文字列だとワークブック変数に格納できんだよって話
ゲットオープンはパスがついているから格納できないのはわかった
わかりやすく答えろ

517:デフォルトの名無しさん
17/12/14 23:55:54.24 n2gI2QxJ0.net
前にいた関西弁の荒しと同一人物なんだろうけど、健気にもちょっと勉強してきてるのが笑えるw

518:デフォルトの名無しさん
17/12/14 23:56:28.06 qidVZ8HWa.net
>>503
無理。
軍事用にコンピューターというものが発明されてから今日までの歴史と仕組みを説明しなきゃならんから。
そして、君にそれを理解出来るだけの能力が有るとは思えないから。
大抵の人は全てを理解しているわけじゃ無いが、自分の利用している範囲ぐらいは理解している。

519:デフォルトの名無しさん
17/12/15 00:06:16.08 sv72SjNaa.net
>>501
ん?
>Apllcation.GetOpenでaaaっていうエクセルを開く
これ間違い。
開かない。
ファイル名を取得するだけ。
>しかしWB(Workbookオブジェクト変数にしている)では指定できない
ファイル名じゃないからな。
ブック名を指定する必要がある。
たまたま偶然ファイル名と同じだけどパス付きはブック名とは違うな。
>Workbooks.Open filename:=Apllcation.GetOpen
これはWorkBook型に入る
Workbook型に入ってるのはファイル名じゃない。
Set WB=Workbooks.Openの意味するところはfilenameに指定された文字列をファイル名と見立ててブックを開き、もし仮に運よく開くことができたらそのブックをWBに格納するという意味。

520:デフォルトの名無しさん
17/12/15 00:18:22.73 qta4Ddk+0.net
>指定された文字列をファイル名と見立ててブックを開き
これが意味不明
GetOpenで指定したファイル名を返すんだろ?
じゃあこれはファイル名になるじゃねえのか?
ファイルを開かなかった場合はファルスがかえることはわかる

521:デフォルトの名無しさん
17/12/15 00:22:57.61 OGmesrFEa.net
>>507
GetOpenFilenameの文とWorkbooks.Openの文は別の文だろ。
プログラム組む奴はGetOpenFilenameで取得したものと違うものを入れることも出来る。
だから結果的に入ったのはファイル名でも、
Workbooks.Open自身はそれを前提にはしないだろ。

522:デフォルトの名無しさん
17/12/15 00:25:39.28 HZMi2rOwd.net
>>498
このレスの一番下がわかりやすいんじゃない?

523:デフォルトの名無しさん
17/12/15 00:26:48.82 qta4Ddk+0.net
>>508
日本語話して
ドヤ顔くん

524:デフォルトの名無しさん
17/12/15 00:26:50.88 Ma3k2IENa.net
GetOpenFilenameはメモ帳のファイル名を取って来ることも出来る。
Wordのファイル名を取って来ることも出来る。
Workbooks.Openで開けないファイル名ということも有るし、Workbooks.Openで開けるファイル名だとしてもExcelで開かなければならないということも無い。

525:デフォルトの名無しさん
17/12/15 00:27:25.61 qta4Ddk+0.net
>>509
オブジェクトブラウザーでてなんだよ
わからねえよ

526:デフォルトの名無しさん
17/12/15 00:28:29.79 qta4Ddk+0.net
>>511
あーなんとなくわかったかな
Openメソッドで開ける=エクセル型=ワークブック型に格納可能
ってこと?

527:デフォルトの名無しさん
17/12/15 00:32:05.55 qta4Ddk+0.net
>>498
つまりだ
君が言いたいのは(要約しないとダメなのかよ、、、)
application.GetOpenfilenameだと文字列として返ってくる
workbook型には文字列は入らない
こういうことが言いたいのね?

528:デフォルトの名無しさん
17/12/15 00:33:26.47 JSBwNcqSa.net
>>510
それはコンピューターというものをまるで理解出来ていないからそうなる。
厳密には
strFile = Application.GetOpenFilename
が実行されたからstrFileはファイル名だろとコンピューターに言っても、コンピューターは違います、文字列です。と言う。
strFileに入っている文字列のファイルは有るのかと問えば、有ります。と言う。
じゃあ、strFileはファイル名じゃねえかと問えば、違います、文字列です。と言う。
コンピュ−ターは人間が考えるような意味を理解しない。
定義通り動くだけ。

529:デフォルトの名無しさん
17/12/15 00:35:45.56 qta4Ddk+0.net
>>515
また回りくどい言い方してんな



530:頭悪いのか



531:デフォルトの名無しさん
17/12/15 00:39:33.42 OGmesrFEa.net
>>514
その理解で良い。

532:デフォルトの名無しさん
17/12/15 00:41:12.92 qta4Ddk+0.net
>>517
最初からこう言えよ
馬鹿じゃねえの?
ほんとにバカしかいねえよ
呆れるというか心配になってくる

533:デフォルトの名無しさん
17/12/15 00:42:06.72 qta4Ddk+0.net
補足するとworkbook.Openで返ってくる(開く)=workbook型ということね

534:デフォルトの名無しさん
17/12/15 00:42:07.75 W4xtzKqva.net
>>516
君がどこまで分かって無いのか、こっちは分からないんだ。
エスパーじゃ無いんだから。
>>514の話だって型とは何だ?という説明もしなきゃならんのか?と考えれば>>515のような話も必要になって来る。

535:デフォルトの名無しさん
17/12/15 00:57:45.39 2M4lhz74x.net
>>518
最初からみーんなそう言ってるぞw
ようやく頭が追い付いてきたのかな?

536:デフォルトの名無しさん
17/12/15 01:03:08.36 2M4lhz74x.net
メゾット君もだんだん自分の頭の悪さを自覚してきてるみたいだし、あと二日以内には恥ずかしい捨て台詞を残して消える運命かな
レス保存したからいつでも再放送出来るけどなwww

537:デフォルトの名無しさん
17/12/15 01:23:44.47 IJmI7Oq80.net
>>514,518
>>415でまっさきに型を理解しろって言ってんだが
まあここまで食い下がる根性は認めるけど、いいかげん最低限は自分で勉強してくれ

538:デフォルトの名無しさん
17/12/15 01:24:37.63 JMZCHg3W0.net
多分Excel VBA入門的な記事を読み進めればすぐに理解できたと思うんですけど
勉強の進め方が下手くそすぎる

539:デフォルトの名無しさん
17/12/15 09:26:34.27 qta4Ddk+0.net
で、この型をしっかりと説明してるのはどこだ?

540:デフォルトの名無しさん
17/12/15 09:27:43.96 qta4Ddk+0.net
URLでもなんでも貼ってよ

541:デフォルトの名無しさん
17/12/15 10:46:54.06 qta4Ddk+0.net
ちなみにさ
VBAってなんでメンテナンスがいるの?
コードを直接弄るわけじゃないからバグなんてでないと思うけど

542:デフォルトの名無しさん
17/12/15 11:01:21.94 sRcKW4ZTM.net
てめーの提示したコードエラー出まくりバグばっかじゃねーか

543:デフォルトの名無しさん
17/12/15 11:23:22.68 HChVIO9E0.net
コードは変わらなくてもWindowsとかExcelとか業務仕様とか、まわりが変わっていく

544:デフォルトの名無しさん
17/12/15 11:26:16.78 qta4Ddk+0.net
VBAは楽しいぞ
俺はmos マスターだがVBAはいっさん知らんかった
最終目標としては意味不明な超複雑なコードを記述し
おれが辞めた後は誰も対処ができないという優越感を味わいたい
そしてVBEをだしてカチカチしてる姿がなんとも知的でかっこいい
ほんとこれだけのきっかけが知識につながって行く

545:デフォルトの名無しさん
17/12/15 11:36:34.77 yfj2Ro7Gd.net
今どきVBAに新規参入者がいる驚き

546:デフォルトの名無しさん
17/12/15 11:48:05.70 HChVIO9E0.net
>>530
>>500

547:デフォルトの名無しさん
17/12/15 12:00:52.51 IqUBh/zH0.net
>>530
それは能力の低い奴の言う言葉。
能力のある奴はお前が辞めても対処できるように記述する。

548:名無し
17/12/15 12:08:15.31 aoP9DSfXM.net
>>530
いや、ずっと同じ質問してる辺りこれっぽっちも知識が増えているように見えないんだが
そしてブーメランに草

549:デフォルトの名無しさん
17/12/15 12:11:37.98 IqUBh/zH0.net
>>523
そこをあっさり理解出来ないからここまで時間制掛かってる。
彼の分かってない所はみんながそういうもんだとあっさり進む所で自分中心で考えること。
コンピューターが自分と同じように考えてくれると思ってる。
アレンブラやマシン語の不自由な世界で自分と同じようには考えてくれないということを思い知った方が良い。

550:デフォルトの名無しさん
17/12/15 12:26:43.87 SvHkecGU0.net
もの凄く複雑で他人の理解が及ばな


551:「ようなコード書くのが目標なら、 なおさら誰の助けも借りずに独学で高めていくのが重要なんだよなぁ。 ネットで検索して簡単に見つかるような情報すら当たれないヤツが目指すものじゃないよね。



552:デフォルトの名無しさん
17/12/15 12:27:05.72 JZsZmqT4r.net
>>499
いやなんかまた鼻息荒くしちゃってるけど元々同じって言ったのお前だからなw
なんで素直にブック名とファイル名は違うって言えないんだよw
どうせ下手くそな説明なんだから無理して技巧的に言おうとすんなw

553:デフォルトの名無しさん
17/12/15 12:27:38.94 qta4Ddk+0.net
>>535
こいつらのオナニー意見なんて一切参考にせず自己解決したんだが?
Wrokbook型変数「これは文字列だから俺の方にははまらないよ」 = _
Application.GetOpenFilename「すまん、俺はただ選択されたファイルの文字列を返すだけなんだよ」
Workbook型変数「お、WorkbooksオブジェのOpenメソッドで開いとるやん。格納できるよ」= _
Workbooks.Open (Filename:=Application.GetOpenfilename)「俺は開いた文字列をファイル名として返すね」
これでどう?誰でもわかりやすいと思うけど?
頭悪すぎね?君たち

554:デフォルトの名無しさん
17/12/15 13:00:25.68 yfj2Ro7Gd.net
なんか
1 + 1 =2

「1に1を加えると2になる」
と表現してる感じだなあ

555:名無し
17/12/15 13:01:13.53 aoP9DSfXM.net
もう突っ込まないぞ!
次のお客様どうぞ

556:デフォルトの名無しさん
17/12/15 13:03:33.01 SvHkecGU0.net
>>539
そもそもWorkbooks.Openメソッドはファイル名を返さないから、
「1+1 は 2 じゃないぞ。俺たちは 1 + 1で200だ。10倍だぞ10倍」みたいなもん。

557:デフォルトの名無しさん
17/12/15 13:34:09.09 8rowC9ysa.net
>>538
わかった!君はプログラムじゃなくて日本語の勉強から始めよう

558:デフォルトの名無しさん
17/12/15 13:34:59.69 8rowC9ysa.net
会話形式にしてくれないと理解できないといってくれれば誰か頑張ったかもねw

559:デフォルトの名無しさん
17/12/15 13:57:32.57 qta4Ddk+0.net
>>541
はいはいブック名ね
どっちでもいいだろアホ

560:デフォルトの名無しさん
17/12/15 14:06:04.35 SvHkecGU0.net
>>544
ブック名も返さないよ。
何にせよWorkbooks.Openメソッドが名前を返したら
Set WB = Workbooks.Open(Application.GetOpenFilename)
が成立しないから。

561:デフォルトの名無しさん
17/12/15 14:12:36.10 sRcKW4ZTM.net
いいからMSDNのリファレンス読んでこいよ

562:デフォルトの名無しさん
17/12/15 14:42:08.62 qta4Ddk+0.net
>>545
はいはい
workbookオブジェクトを返すのね
はいはい死ね死ね

563:デフォルトの名無しさん
17/12/15 14:44:22.53 IqUBh/zH0.net
>>538
それ、全部既に言ってたからw
お前はみんながすんなり分かるところをこれだけすったもんだしてやっと分かっただけ。
これまでのやりとりが無かったら、それそのまんま言っても理解出来て無い。
そもそも、バカがどうしてバカなのかなんてこっちは理解出来ない。
お前とは違うからな。

564:デフォルトの名無しさん
17/12/15 14:47:50.40 xyZ0U828M.net
メソッドの返り値として何の型のどんなオブジェクトが返ってくることを意識する重要さが微塵もわかってないのでこいつのVBAスキルはここで打ち止めだな

565:デフォルトの名無しさん
17/12/15 15:09:10.26 vqijPR8bp.net
以降はスルーしよう

566:デフォルトの名無しさん
17/12/15 15:21:09.44 yfj2Ro7Gd.net
整数 + 整数の戻り値が整数なのに整数 / 整数の戻り値が整数じゃない理由がわからない、不合理だ、と
駄々をこねる人間もいるんだからしょうがない

567:デフォルトの名無しさん
17/12/15 19:31:32.21 lmKJ5VLWa.net
世の中にはこういう本物のバカもいるんだなあと勉強になったよ

568:デフォルトの名無しさん
17/12/15 19:39:48.70 IAZ3SurN0.net
わりとそこかしこに居るけどな、本物のバカ
ひきこもりか?おまえw

569:デフォルトの名無しさん
17/12/15 21:40:28.03 qta4Ddk+0.net
>>549
まだ始めて2週間って話してなかった?
ちなMOSエキスパート所持者ね

570:デフォルトの名無しさん
17/12/15 21:49:11.45 SvHkecGU0.net
>>421からもう二週間も経ったのか。時が経つのは早いな。

571:デフォルトの名無しさん
17/12/15 22:06:37.13 5LKBHQ7A0.net
>>554
> ちなMOSエキスパート所持者ね
ここ、笑うとこですか?

572:デフォルトの名無しさん
17/12/15 22:06:40.33 sA/nQpBXa.net
MOSエキスパート?
何それ美味しいの?
昔、「初心者だから仕様がないけどさ」と説教した相手が今回君が挑戦してる言語のエキスパート持ってたけどさ。

573:デフォルトの名無しさん
17/12/16 04:53:25.79 kSf4Qz7z0.net
先日、AutoFilterとValidationの不具合で質問したものです。
(まだ解決していませんが、、)
また新たな不具合に悩まされています。
このような場合、どこに報告すればMSの目にとまりますかね?
もし同一環境のかたおられましたら再現テストしていただけるとありがたいです。
[環境]
Microsoft Office Home and Business 2013
バージョン: 15.0.4989.1000 (2017/12)
Excel2013
Win10 64bit Core i7 Mem8GB
[手順]
以下の手順で実行するとシートSelectが不完全な状態になる。
 Trigger: 別シートの貼付画像のOnAction
 →PopupMenuのOnAction
 →呼び出されたProc内で、SheetSelect
  続けてAutofilter実施 (直接の原因ではない)
(その2へ)

574:デフォルトの名無しさん
17/12/16 04:53:47.87 kSf4Qz7z0.net
>>558
(その2)
[現象]
 ・Fitering成功しているように見えるが、非表示セルにカーソル移動できてしまう。
 ・セル値の削除が効かない。(連動イベントが動かず、本現象に気づく)
 ・範囲コピー貼り付けが正しく行われない。
 ・セルをコピーモードにしても、選択範囲が破線矩形にならない。
  →なんと恐ろしいことに、操作の対象が現在見えているActiveCellではなく、
   呼出元画像のあるシートの同一番地に対して行われている様子。
   破線矩形も元シートを開いたらそこにあった。
   削除処理も元シートに対して行われる。
   ステータスバーのセル値カウントも、現在見えているシートではなく、呼出元の情報を返す様子。
   ActiveCell.Address(External:=True)は実際に見えている移動先シートを示しているのに、、、
[発生条件の再検証]
 ・別シートの画像.OnAction→Popup.OnActionで初めて成立。
 ・画像.OnActionから直接Proc実行(Sheet選択、Autofilter実施)では再現せず。
 ・Alt+F8からのPopup起点とすると再現せず。
 ・Popup.OnActionを入れ子にしても再現せず。
 ・ボタンをTableと同じシートに配置した場合は再現せず。
 ・Office2010では再現せず。
(その3へ)

575:デフォルトの名無しさん
17/12/16 04:54:06.08 kSf4Qz7z0.net
>>558
(その3)
[試験に用いたコード]
1) テーブルとは別シートにある画像を選択して、ImmediateからOnAction登録。
Selection.OnAction = "mkPop"
2) Popup生成
Sub mkPop()
 With CommandBars.Add(Position:=msoBarPopup)
  With .Controls.Add
    .Caption = "Filter"
    .OnAction = "DoFilter"
  End With
  .ShowPopup
  .Delete
 End With
End Sub
3) Filterling実施
Sub DoFilter()
Sheets("List").Select
Sheets("List").Range("$A$1:$C$5").AutoFilter Field:=1, Criteria1:="TEST"
Debug.Print ActiveCell.Address(external:=True) '確認用
End Sub
** 実際には機材画像のPropertyから読み込んだ文字列でフィルタリング。
** 今回はAutoFilterは無実でシート選択の不全実行が現象の概要とみています。

576:デフォルトの名無しさん
17/12/16 04:56:00.08 kSf4Qz7z0.net
>>558
環境情報が抜けていました。
Win10 バージョン 1703 (OS ビルド 15063.786)

577:デフォルトの名無しさん
17/12/16 05:17:34.49 kSf4Qz7z0.net
>>558
(その4)
回避のためのリフレッシュ手順を忘れておりました。
[効果があるリフレッシュ操作]
 ' 以下、または手動によるシート切替(Screenupdating=False効かず、ちらつくが、、)
 '--------------------------------
 Application.SendKeys "^{PgDn}":Application.SendKeys "^{PgUp}"
 ' Popup表示前にSheet移動してしまう。(Cancel有無にかかわらず移動してしまうが、、)
 '--------------------------------
 Application.ScreenUpdating = False: Sheets("List").Select
 .ShowPopup
[効果がないもの]
 ' Filtering直前のAutoFilter再設置
 ActiveSheet.Range("$A$1:$C$5").AutoFilter
 ' 画面再描画処理
 Application.ScreenUpdating = False: Application.ScreenUpdating = True
 ' その他、以下を試したがNG
 Application.EnableEvents = True
 Application.DisplayFullScreen = True: Application.DisplayFullScreen = False
 Application.CalculateFull
 Application.CalculateFullRebuild
 AppActivate (Application.Caption)
 Worksheets("List").Activate
 Application.StatusBar = "aaaaaa": Application.StatusBar = False
 MsgBox "OK"

578:名無し
17/12/16 05:26:07.46 j6rMoAMF0.net
そういうときは、doeventsやwaitも試してみるべし
今パソコン無いから試す暇がない

579:デフォルトの名無しさん
17/12/16 05:36:15.74 kSf4Qz7z0.net
>>563
そういえばDoEventsは試しました。
結果効果はなく、SendKeysを無効化して現象回避もできなくなるという逆効果も確認しました。
Waitはどこに入れると効果的ですかね。
間にStopを入れて一時停止したりはしてみましたけど、、、

580:デフォルトの名無しさん
17/12/16 05:45:39.73 kSf4Qz7z0.net
>>563
今回のはあまり待ち要素はないと見ていますが、以下の3カ所に2秒ほど入れてみました。
 ・シート切替の前後、.ShowPopupの直前
再現してしまいました。

581:デフォルトの名無しさん
17/12/16 18:57:10.19 9cn7Nun80.net
現在vbaをネットで勉強中ですが書籍も使って勉強しようと思っています
プログラミング初心者がvbaを学ぶのにお勧めの書籍を教えていただけませんか?

582:デフォルトの名無しさん
17/12/16 20:17:51.76 7KC6Lrbda.net
VBAで書籍は金の無駄だよ
最初はマクロの記録を見るのとネットでぐぐれば大抵のことはできるよ

583:デフォルトの名無しさん
17/12/16 20:36:50.77 IU5B3eEvp.net
データの入力規則にカンマ区切りの項数不定の1-9の数字のみを許容したいのですが、どうすればよいですか?
正規表現だと、こんな感じです。
/^([1-9]+,)*([1-9]+)$/
regexp使ってVBAでチェックする方法ならやり方が分かるのですが、セルのデータ入力規則で設定する方法が分かりません。

584:デフォルトの名無しさん
17/12/16 20:57:31.30 yaHEvAoH0.net
>>568
シートのChangeイベントあたりに
そのコードを仕込んでおくのはいかがでしょうか
ダメな場合はエラーメッセージ出して、セルの値を消しちゃえば
入力規則チックになるかと

585:デフォルトの名無しさん
17/12/16 21:10:04.55 yaHEvAoH0.net
>>566
本格的にやりたいなら、VBAと関係ないように思えるけど
「スッキリわかるJava」シリーズをオススメしたい。
自分の場合、VBA本ではさっぱりだったけど、この本で目覚めた。
オブジェクト指向の解説は、VBAの理解にもかなり役立つ。
プログラミング言語は根幹は同じで、方言みたいなもんなので
他の言語にもすんなり入っていけるようになる。
やれることが多くなるよ。

586:デフォルトの名無しさん
17/12/16 21:57:56.42 0LU2hdfpp.net
オブジェクト指向をVBA始めて1週間だが理解してみた
まず
変数は何かの型に入れる
お前はこれしかできねえよ
っていう
そして
その型の中のさらに型の中の命令はなに?
と掘り下げて行く
これがオブジェクト指向

587:デフォルトの名無しさん
17/12/16 22:19:01.15 vwwP6eCQd.net
>>571
違うけど気にしないでいいよ
厳密なな定義ないから

588:デフォルトの名無しさん
17/12/16 22:21:35.33 6cm/hyEb0.net
あと一歩というところだな、実にオシイと言っておこう
しかし始めて1週間でそこまでオブジェクト指向の真髄に迫るとは大したものだ
末恐ろしい奴が現れたもんだ、これは俺もうかうかして居られんな

589:デフォルトの名無しさん
17/12/16 22:26:05.73 vwwP6eCQd.net
なるほど
俺が間違っていたようだ

590:デフォルトの名無しさん
17/12/16 23:09:21.00 9T+lJsLD0.net
お、おぅ

591:デフォルトの名無しさん
17/12/16 23:16:38.47 jWdcz3p90.net
Access だと、ずいぶん前から SendKeys は使うな ってのが喧しいが
Excel だと現役なんか? いいんか?

592:デフォルトの名無しさん
17/12/16 23:32:07.04 oxEVVuR00.net
>>558
(その5)
画像リンクが外部ファイルにある場合はSendKeysも役にたたないようです。
なんかいい回避策ないですかね?

593:デフォルトの名無しさん
17/12/17 01:01:58.50 ZCl426tV0.net
たんにActiveCellのシートが思ってるものじゃないだけの気がするなぁ
そのコードどこに書いてるんだよ

594:デフォルトの名無しさん
17/12/17 01:39:41.36 F05u2uwp0.net
誰がオブジェクト恥垢やねん!(´・ω・`)b

595:デフォルトの名無しさん
17/12/17 04:46:14.88 Hjh32hjm0.net
>>578
どゆこと?
例えばですね、他Bookにある画像をクリックしてそこにPopupが表示され、フィルタ処理を選びます。
で、フォーカスは対象テーブルのあるブック・シートに遷移して、フィルタリングに成功します。
SDIなので画面上は呼出元ブックとテーブル用ブックが2つ並んでおります。
ここでScriptは完了するわけですが、追加の操作をするために、遷移先シートを明示的に選択。
明らかに自分はその目的のシートを選んでいます。
ここでImmediateから、ActiveCell.Address(external:=True)をたたくと明らかに今触っているセルの番地が、Book名、シート名、セル番地名のフルパスで戻ります。
ここでカレントセルのある範囲を選択反転してCopy操作を行うと、呼出元ブックの同じセル番地がコピーモードの破線矩形にかわるんです。
カーソルで下へスクロールすると、呼出元シートもリモコンで操作しているみたいに一緒にスクロールするんです。
削除操作も、、、、同一ファイルで操作している時は気づかなかったですが、別ファイルから行うと凄いびっくりなビジュアルが展開されます。
明らかに "ActiveCell" という状況が表と裏に分離されたような状態になるんです。
同じブックをWin7+Excel2010で操作した場合は起きません。
自ファイルだとSendKeysで逃げられるんですが、外部ファイルからシート切替しても呼出元が切り替わってしまって、、
テーブル側ブックがキー操作相当でシート切替されないとこの状態が解除されないみたいです。

596:デフォルトの名無しさん
17/12/17 05:09:02.50 /bdPdb8E0.net
>>580
とりあえずActiveSheetとかSelectionとか使わない方法で実装するのはダメなの?
あと同時に実行されるマクロは全て同じブックに入れておくべきだと思うよ。

597:デフォルトの名無しさん
17/12/17 06:51:48.24 Hjh32hjm0.net
>>581
(その6)
Debug用と問題回避のためにActiveCellを記述していますが、実際のコードでは使用していません。
>>560のSelectionはコードの中に記述しているわけではなく、検証用の画像ボタンを登録する手順としてImmediateから実行しているだけです。極力BackEndから操作する派です。
実際の運用Bookでは極力同一ファイルにMacroを集めています。
Macro自体は仕事を完全に全うするのですが、、、そのあとシートの状態がおかしくなるという現象です。
状態を解消するには、呼出先のBookでシート切替を行う方法のみ。
で、発想を変えて、「外部から制御できないか」と考えました。
VBE内にVBSScriptを記述し、「中の外」からシート選択してみようと。
結果NG、再現してしまいました。
じゃあ、本当に外から制御すればどうかな?と思い、上記のVBScriptを同一フォルダに置いて呼び出す作戦に。

598:デフォルトの名無しさん
17/12/17 06:52:33.95 Hjh32hjm0.net
>>581
(その7)
--------------------------------
[Popupから呼び出すProc]
Sub DoFilter()
 Sheets("List").Select
 Sheets("List").Range("$A$1:$C$5").AutoFilter Field:=1, Criteria1:="TEST"
 Call = Shell("wscript " & ThisWorkbook.Path & "\SelectSheet.vbs", vbHide)
End Sub
--------------------------------
[SelectSheet.vbsの中身]
call SheetSelect_fromVBS
Sub SheetSelect_fromVBS()
 Dim xlApp: Set xlApp = GetObject(, "Excel.Application")
 With xlApp
  .Workbooks("ListBook.xlsm").Activate
  .Worksheets("List").Select
 End With
 Set xlApp = Nothing
End Sub
--------------------------------
なんとこれが功を奏し、ActiveSheetの幽体離脱状態から抜け出すことができました。
シート切替も不要に。これで一先ず凌げそうですが、MSには不具合対応してもらいたいです。
コメントいただいた方々、ありがとうございました。

599:デフォルトの名無しさん
17/12/17 06:55:18.78 Hjh32hjm0.net
>>583
あれ、一部書き間違えました。実際は、、
 Call Shell("wscript " & ThisWorkbook.Path & "\SelectSheet.vbs", vbHide)

600:デフォルトの名無しさん
17/12/17 10:32:12.89 e1NNF66l0.net
つまりここでは
なんの型にはめるのか?
命令は?状態は?
だろ?
でもCellsってプロパティだろ?なんで一発で状態から入るんだ?

601:デフォルトの名無しさん
17/12/17 11:20:01.90 ZjZyIyTi0.net
>>585
Cellsはオブジェクトだ
そしてWorksheetオブジェクトやCellsオブジェクトのプロパティでもある
あと、ようやく時間ができたからWorkbookオブジェクトをVariantに代入しようとしたら当然のごとく「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」になった。
一体何を試してパスが云々なんて話が出てきたんだろう。
Dim V As Variant
V = Workbooks(1)
→代入不可
Set V = Workbooks(1)
→VはVariant/Object/ThisWorkbook型
調べてみてもWorkbook型にデフォルトプロパティは設定してなさそう。

602:デフォルトの名無しさん
17/12/17 11:21:03.68 ZjZyIyTi0.net
>>586
訂正
CellsはRangeオブジェクトだ
そしてWorksheetオブジェクトやRangeオブジェクトのCellsプロパティでもある

603:デフォルトの名無しさん
17/12/17 11:26:43.28 e1NNF66l0.net
>>587
cellsはrange?
意味わからない
プロパティでオブジェクトってなに?
もっとうまく説明してくんね?

604:デフォルトの名無しさん
17/12/17 11:27:13.71 gZkjaYao0.net
>>586
自分用語を使うどころかコードも正確にコピペできてないからそのまま実行しても無駄だぞ
エスパー力を全力で働かせて察してあげない限り回答しても罵倒が返ってくる

605:デフォルトの名無しさん
17/12/17 11:37:53.28 ZJu/+/V0x.net
>>585
メゾット君、プロパティだから状態というのは間違えやすい考え方だからこの際捨て去った方が良い
プロパティは呼び出し元プログラムに対してオブジェクトのクラス内部への変数へのアクセスを提供するもので、アクセス先の変数のデータ型はプリミティブな値であることもあれば、何らかのオブジェクトである場合もある
というか、オブジェクト式の途中で出てくるプロパティは全てオブジェクトへの参照を提供するプロパティだ
Cellsの場合はRange型のオブジェクトへのアクセスを提供するプロパティだが、Grobalのメンバプロパティだから上位オブジェクト式を


606:省略して書けるわけ



607:デフォルトの名無しさん
17/12/17 11:46:44.41 gC8RO3PCp.net
>>590
カタカタ使うな

608:デフォルトの名無しさん
17/12/17 11:53:12.87 ZjZyIyTi0.net
>>589
そうだよな・・
自分でクラス作ってみれば一発で理解できそうなものだが・・


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

2252日前に更新/339 KB
担当:undef