[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/09 14:54 / Filesize : 339 KB / Number-of Response : 1038
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part51



1 名前:デフォルトの名無しさん [2017/11/08(水) 11:26:30.13 ID:+KUB1/9hd.net]

スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※関連スレ
VBAなんでも質問スレ Part2
mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/

※前スレ
Excel VBA 質問スレ Part50
mevius.2ch.net/test/read.cgi/tech/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


443 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 00:53:19.64 ID:0XKK4N9O0.net]
>>430でもまだ不正確だった
より正確に言うと

Application.GetOpenfilename =
「開きたい(あるいは移動、コピー、改名、削除など何らかの操作をしたい)」ファイルを「選択した」時は文字列が返される

ですね

444 名前:デフォルトの名無しさん [2017/12/14(木) 00:55:08.87 ID:oVDd8Fug0.net]
>>433
んなもんしってるわ
キャンセル押されたらフェイルス
ファイルを選択したらパス文字列

445 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 00:56:13.50 ID:0XKK4N9O0.net]
>>432
いや、それが分かってるなら何を問題にしてるのかがよく分からない
それと「メゾット」じゃなくて「メソッド」ね

446 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 00:56:39.81 ID:pIjJ7/MG0.net]
真面目に答えるんじゃなくて
わりと真面目に答えるように

447 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 00:58:18.78 ID:FrwGQASIx.net]
>>420
ちなみにworkbookオブジェクトのデフォルトプロパティは存在しない
存在しないから当然、workbook型に合わないデータは代入できない

448 名前:デフォルトの名無しさん [2017/12/14(木) 01:00:54.08 ID:oVDd8Fug0.net]
>>437
じゃあなんで
workbook.openのパス文字列は入るんですかねえ

449 名前: []
[ここ壊れてます]

450 名前:デフォルトの名無しさん [2017/12/14(木) 01:01:13.61 ID:oVDd8Fug0.net]
ここまで答えなしだが
誰もわからないのか?

451 名前:デフォルトの名無しさん [2017/12/14(木) 01:01:34.43 ID:oVDd8Fug0.net]
おれの質問ってVBAの穴をついた?



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

453 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 01:05:31.95 ID:FrwGQASIx.net]
>>428
workbooksは、workbookクラスではない
別のオブジェクトのクラスだ

それから、さっきも書いたが、Openメソッドの戻り値は引数で指定されたパスを持つWorkbookオブジェクトなのであって、Openメソッドによってパス自体が戻ってくる訳ではない
パスを返してくるApplicationクラスのGetOpenFilenameメソッドとは全く働きが違う
プロパティやクラスや引数の名前で何となくbookとかfileとか付けばパス付のWorkbookオブジェクトが返ってくるものと混同してるようだが、きちんと区別しないといけない

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

455 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 01:13:59.17 ID:FrwGQASIx.net]
>>440
突いてない
典型的な初心者の質問

456 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 01:17:18.86 ID:LaUulqGP0.net]
典型ではないな
低次元な初心者の質問

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

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

459 名前:デフォルトの名無しさん [2017/12/14(木) 07:32:56.86 ID:oVDd8Fug0.net]
>>443
workbooks.open filename:=Application.GetOpenfilename

この場合はworkbooksオブジェクトに選択したパス文字列が格納されるのか?
だからworkbook型に格納できるのか?

460 名前:デフォルトの名無しさん [2017/12/14(木) 07:37:06.65 ID:oVDd8Fug0.net]
>>446
ん?
workbooks
worksheets
rows

これはコレクションだろ?
コレクションはオブジェクトの最上位

プロパティはオブジェクトの何?
メゾットはオブジェクトに命令

違うか?

461 名前:デフォルトの名無しさん [2017/12/14(木) 07:40:17.60 ID:oVDd8Fug0.net]
マジでわかりやすい答えがない



462 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 08:30:04.65 ID:mohvOYX1x.net]
>>448
君の言う「格納」は、コレクションへのオブジェクトインスタンスの追加、プロパティ値の設定、変数への代入、引数の受け渡し等がごちゃごちゃになっていると思う
まず、Workbooksコレクションに、データの代入はできない
WorkbooksコレクションはWorkbookオブジェクトの集まりを要素に持つコレクションオブジェクトだから

それから、Workbooks.Open Filename:=Application.GetOpenFilenameという構文は、Workbook型の変数に値を代入しているわけではない
Filenameという名前付きで定義されたOpenメソッドの文字列型の第一引数に値を渡していて、その結果としてOpenメソッドがWorkbookオブジェクトを返しているわけで、オブジェクト型変数への代入ではない

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

464 名前:デフォルトの名無しさん [2017/12/14(木) 08:46:43.07 ID: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 名前:デフォルトの名無しさん [2017/12/14(木) 08:47:18.91 ID:QIiUylbtp.net]
>>452
一番上

最上

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

466 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:00:03.55 ID:n2gI2QxJ0.net]
>>453
Set wb = Application.GetOpenFilename

は、String型をWorkbook型のポインタへ代入しようとしてエラー吐いてる。

Set wb = Workbooks.Open(Application.GetOpenFilename)
Set wb = Workbooks.Open("目的のワークブック.xlsx")

は、OpenメソッドにString型変数を渡しているから機能する。

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

468 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:02:04.79 ID:CHPwg0pDx.net]
>>449
コレクションはオブジェクトの最上位、という発想がそもそも間違い
コレクションは子要素に追加されているデータやオブジェクトへのアクセス等を提供する、子要素からは独立したオブジェクトだ

更に、WorkbooksコレクションオブジェクトはWorkbookオブジェクトのみを要素に持つようにあらかじめ最適化された規定のコレクションオブジェクト

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

なんで?

470 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:05:51.56 ID:YV9D93CW0.net]
>>454
日本語だけ知ってても言語仕様を正確に説明する難しいんだよ

コンピューター業界では「上位」などの言葉には特別な意味を持たせる場合もあるし、
とくに相手がド素人だと、言葉の意味から説明するのも面倒だから、あえて上位という単語は避けた上で
なんとなく通じてくれそうな「上」って言い方をしたんだよ

お前の態度が気に入らないからワッチョイ Spc7はNGするわ
人に何か質問する時は最後までていねいな言葉を使え

471 名前:デフォルトの名無しさん [2017/12/14(木) 09:07:28.47 ID:QIiUylbtp.net]
>>459
うんこーwwwwwwwwwwうんこーwwwwwwwwww



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

473 名前:デフォルトの名無しさん [2017/12/14(木) 09:11:20.55 ID:QIiUylbtp.net]
>>461
いやしってるけど

キャンセルが押されたらフェイルスだし
選択したらパス名が返って来る

何回言えば気がすむんだよ

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

違うかい?いい線いってる?

475 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:13:02.91 ID:n2gI2QxJ0.net]
>>458
なんでも何もデータ型が一致するかどうかが問題であって、メソッドの戻り値の型は一致するってだけ。

たぶんJavaScriptから始めたせいで認識がおかしくなってるんだろうけど、
普通はデータ型が異なる変数同士の代入は出来ない。

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

477 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:20:19.35 ID:CHPwg0pDx.net]
>>462
それ俺がきのう説明したことだよねw
オブジェクト型変数にGetOpenFilenameから返った文字列型データやデータ配列を設定しようとしてるのがおかしいんだがw
データ型とか一回学んだ方が良いと思うよ

それから蛇足だけど、フェールスじゃなくて、フォルス、フォールス、ファルスの何れかの表記にしないと、Falseのことだと理解してもらえないことが多いと思うよ

478 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 09:25:08.03 ID:CHPwg0pDx.net]
>>463
引数の文字列は戻り値にならない
Openの戻り値はWorkbookオブジェクトの実体だ
Workbookオブジェクトの実体とパス文字列はイコールじゃない

それから、メゾットじゃなくてメソッドな
あんまり特徴的な言葉づかいしてるとメゾット君と
フェールス君とか呼ばれたりするかもしれないから気を付けなよ

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

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

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



482 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 12:17:27.13 ID:7XekaZVWx.net]
>>470
その言い方は猿に対して失礼だぞメゾット君

WordやPowerPointのVBAと違ってExcelは「Excel VBA データ 型」でググれば腐るほど情報が出てくるから、好きなページを読んで出直してきたらいいさ
インスタンスもググってみたらいいよ

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

484 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 12:36:44.73 ID:bra/P7/Ad.net]
どう考えてもこいつは型も文法も戻り値も

485 名前:理解できてないだけだろ []
[ここ壊れてます]

486 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 12:45:31.15 ID:PlqHEg1vH.net]
インスタンスはお湯かけて3分で完成するよ

(´・ω・`)b

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

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

489 名前:デフォルトの名無しさん [2017/12/14(木) 14:18:03.10 ID:QIiUylbtp.net]
>>472
ふーん
開いてから格納する

これだけだよね?詰まる所は

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

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



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

493 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 14:51:48.29 ID:/xE3TN/oa.net]
>>480
無理だよ

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

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

496 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 15:43:20.73 ID:Sk339KZTa.net]
ここには、彼の疑問に答えられるような人はいない。

こんぴゅうたーのでんげんをいれるとどうしてえくせるがうごくのかをせつめいするのはむずかしい。
でんきにはつうでんしてるときとつうでんしていないときがあるのでそれをりようしてぜろといちをくべつできる。
ぜろといちをくべつできればにしんすうをりようして...

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

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

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

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

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



502 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 20:33:08.02 ID:g1PrWAQxx.net]
>>489
安価間違えた、これは>>488

503 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 21:01:41.06 ID:bra/P7/Ad.net]
>>455
をもとに考えてみた

お金を入れるとカップにジュースが注がれる自販機を思い浮かべるんだ

Set wb = 'ジュースが入るカップ
Workbooks.Open( _'お金を判別してボタンが押されるとジュースを出す回路
Application.GetOpenFilename _'お金
)
→お金を入れてボタンを押したらカップにジュースが注がれる

Set wb = Application.GetOpenFilename
→カップに直接お金を入れて飲めないと騒ぐあほ

どうだ!?

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

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

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

507 名前:デフォルトの名無しさん [2017/12/14(木) 21:32:46.73 ID:QIiUylbtp.net]
application.getOpenfilename
→あ.xlsxを選択
C:¥あ.xlsx が帰って来る

workbooks.Open filename:=application.getOpenfilename(つまりC:¥あ.xlsx)

ん?どっちもパス付きのブック名じゃねえの?
ってことをいってる

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

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

510 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 22:19:18.62 ID: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 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 23:32:44.97 ID: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 名前:デフォルトの名無しさん [2017/12/14(木) 23:34:29.57 ID:oVDd8Fug0.net]
短くわかりやすくまとめられるやついねえの?
いくらVBAができたって引き継ぎができない奴は無能なんだが

513 名前:デフォルトの名無しさん [2017/12/14(木) 23:41:16.00 ID:oVDd8Fug0.net]
俺もずっとROMってたけど
こいつらの説明はマジで意味不明だわ

お、良い線言ってんな って思ったらいきなりカタカナ語がでてきてググっても意味不明
こいつらマジもんのコミュ障すぎてイラつきしかない

オナニー発言ばっかで答えがない

Apllcation.GetOpen
でaaaっていうエクセルを開く

C:\aaa.xlsx が返ってくる
しかしWB(Workbookオブジェクト変数にしている)では指定できない

でも
Workbooks.Open filename:=Apllcation.GetOpen
これはWorkBook型に入る

つまるところどっちもC\aaa.xlsxって文字列を

514 名前:返してんじゃねえの?何がちげえの?ってこと

これいうの10回目ないい加減学習しろイラつくな
[]
[ここ壊れてます]

515 名前:デフォルトの名無しさん [2017/12/14(木) 23:44:38.82 ID:oVDd8Fug0.net]
こいつらのたとえ

子供がリンゴを指さす
「これなに?」

こいつら
「これは物質○○が含まれて○○っていう色素があって赤い、つまり栄養は○○がふくまれている
ちなみにその栄養は○○って物質にも入っている」ドヤァ

って感じ
見ててムカつくから発言したわ

516 名前:デフォルトの名無しさん [2017/12/14(木) 23:46:05.94 ID:oVDd8Fug0.net]
おれが聞きたいのは

なんでワークブックスオープンで指定したファイル名文字列だとワークブック変数に格納できんだよって話
ゲットオープンはパスがついているから格納できないのはわかった

わかりやすく答えろ

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

518 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 23:56:28.06 ID:qidVZ8HWa.net]
>>503
無理。
軍事用にコンピューターというものが発明されてから今日までの歴史と仕組みを説明しなきゃならんから。
そして、君にそれを理解出来るだけの能力が有るとは思えないから。

大抵の人は全てを理解しているわけじゃ無いが、自分の利用している範囲ぐらいは理解している。

519 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:06:16.08 ID:sv72SjNaa.net]
>>501
ん?
>Apllcation.GetOpenでaaaっていうエクセルを開く

これ間違い。
開かない。
ファイル名を取得するだけ。

>しかしWB(Workbookオブジェクト変数にしている)では指定できない

ファイル名じゃないからな。
ブック名を指定する必要がある。
たまたま偶然ファイル名と同じだけどパス付きはブック名とは違うな。

>Workbooks.Open filename:=Apllcation.GetOpen
これはWorkBook型に入る

Workbook型に入ってるのはファイル名じゃない。
Set WB=Workbooks.Openの意味するところはfilenameに指定された文字列をファイル名と見立ててブックを開き、もし仮に運よく開くことができたらそのブックをWBに格納するという意味。

520 名前:デフォルトの名無しさん [2017/12/15(金) 00:18:22.73 ID:qta4Ddk+0.net]
>指定された文字列をファイル名と見立ててブックを開き

これが意味不明

GetOpenで指定したファイル名を返すんだろ?
じゃあこれはファイル名になるじゃねえのか?
ファイルを開かなかった場合はファルスがかえることはわかる

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



522 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:25:39.28 ID:HZMi2rOwd.net]
>>498
このレスの一番下がわかりやすいんじゃない?

523 名前:デフォルトの名無しさん [2017/12/15(金) 00:26:48.82 ID:qta4Ddk+0.net]
>>508
日本語話して
ドヤ顔くん

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

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

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

ってこと?

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

こういうことが言いたいのね?

528 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:33:26.47 ID:JSBwNcqSa.net]
>>510
それはコンピューターというものをまるで理解出来ていないからそうなる。
厳密には
strFile = Application.GetOpenFilename
が実行されたからstrFileはファイル名だろとコンピューターに言っても、コンピューターは違います、文字列です。と言う。
strFileに入っている文字列のファイルは有るのかと問えば、有ります。と言う。
じゃあ、strFileはファイル名じゃねえかと問えば、違います、文字列です。と言う。

コンピュ−ターは人間が考えるような意味を理解しない。
定義通り動くだけ。

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


530 名前:頭悪いのか []
[ここ壊れてます]

531 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:39:33.42 ID:OGmesrFEa.net]
>>514
その理解で良い。



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

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

534 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:42:07.75 ID:W4xtzKqva.net]
>>516
君がどこまで分かって無いのか、こっちは分からないんだ。
エスパーじゃ無いんだから。

>>514の話だって型とは何だ?という説明もしなきゃならんのか?と考えれば>>515のような話も必要になって来る。

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

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

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

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

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

540 名前:デフォルトの名無しさん [2017/12/15(金) 09:27:43.96 ID:qta4Ddk+0.net]
URLでもなんでも貼ってよ

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



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

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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<339KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef