Excel VBA 質問スレ Part49at TECH
Excel VBA 質問スレ Part49 - 暇つぶし2ch487:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/24 08:13:01.75 2edahxxPa.net
>>479
継承できればコレクションからゴニョゴニョした方がいいんだろうけど
どうでも良いけど値の入れ替えのメソッド名をRepracementにしてるんだけどなんかしっくりこないんだよね
なんかいいのないかな

488:デフォルトの名無しさん (スッップ Sdff-AsiQ)
17/07/24 08:16:32.78 6zzYsskzd.net
そりゃ違和感あるだろな

489:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/24 08:53:04.80 2edahxxPa.net
>>481
入れ替えで辞書ツール突っ込んだらそれでてきたからしゃーない

490:デフォルトの名無しさん (ワッチョイ bf23-E/h9)
17/07/24 09:00:24.88 vx6bYcmg0.net
配列の話題になってから調べて初めて知ったけど
ArrayListをVBAで使えるんだね
一通りメソッドもそろってるみたいだし、どうかな
実際に使ってみたわけではないけど

491:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/24 09:18:31.28 2edahxxPa.net
>>483
便利は便利だけど遅い
三桁四桁の配列なら大差無いだろうけどね
大抵はコレクションで事足りちゃうしね

492:デフォルトの名無しさん (アウアウアー Sa4f-Z4r9)
17/07/24 13:58:09.64 n0AZ+pfTa.net
使い勝手はArrayListのほうが便利そうだね
まぁ確かに自分も使ったことないけど

493:デフォルトの名無しさん (ワッチョイ df6f-QK4i)
17/07/24 21:11:53.14 nIPnkEuj0.net
ちゃんとしたやつがあるのかよwww
自作配列にArrayListって変数名付けたわwwww

494:デフォルトの名無しさん (ワッチョイ 7faa-A43S)
17/07/25 15:00:10.14 1af6ROG50.net
VBAのArrayListって何よ?

495:デフォルトの名無しさん (アウーイモ MM6b-Z4r9)
17/07/25 15:01:06.45 WO88e3uDM.net
.NETのライブラリが使えるて話なんじゃないの?

496:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/25 16:38:16.45 k4b2Lxa9a.net
.netライブラリの話で思い出したけどコンストラクタに引数渡せないのクソ不便だよな
渡せるようになれば使えるライブラリも増えそうだが

497:デフォルトの名無しさん (ワッチョイ bf6d-E/h9)
17/07/25 19:00:27.87 cmKKN7nU0.net
>コンストラクタに引数渡す場面ってある?
シートの名前ぐらいなら返り値の.nameを変えるけど、何とも思わん

498:デフォルトの名無しさん (スッップ Sdff-AsiQ)
17/07/25 19:39:14.04 RB4NOmYpd.net
コンストラクタでしか初期化できない(他の初期化用メソッドを持たない)クラスがあれば困るけど、
そういうものって.Netにあるの?

499:デフォルトの名無しさん (ワッチョイ bf6d-xeeJ)
17/07/25 20:05:49.03 cmKKN7nU0.net
>>491
const
vbaでconstが必要な用途が良くわからんけど

500:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/25 20:19:25.50 KNlosRFTM.net
>>488
えっ、そんな機能いつ実装されたん?

501:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/25 20:27:13.52 KNlosRFTM.net
>>491
VBA から使うとは思えないけど Exception の Message はコンストラクタでしか設定できないよ
そもそも>>489はそういう話じゃないような気がするけど

502:デフォルトの名無しさん (ワッチョイ 4791-2faK)
17/07/25 22:08:51.03 8cBHpzox0.net
>>493
.netのクラス使えないのかな?って以前ググったときに
URLリンク(officetanaka.net)
が引っかかって
えらい簡単に使えるんだなぁと思ったんだけど
思っただけで使ったことないし
細かいことも知らない…
ていうか、本当にいろいろ便利に使えるなら
ググるだけでバンバン情報引っかかっていいと思うんだけど
ArrayListのことくらいしか出てこんかった

503:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/25 22:30:18.63 k4b2Lxa9a.net
>>490
ブックをそのままラップしたクラスとか作りたいときにパス指定するためのメソッドわざわざ実装するのとかクソめんどくさいじゃん
結構引数指定したい場面あるよ
逆になんで引数渡せないのかという

504:デフォルトの名無しさん (ワッチョイ bf6d-fQyQ)
17/07/25 22:39:21.79 cmKKN7nU0.net
>>496
そういうのは諦めた
エクセルに限らず、IEやら何もかもインスタンス作成してから、プロパティを変更している
言語仕様を嘆いても始まらん

505:デフォルトの名無しさん (ワッチョイ 4791-2faK)
17/07/25 22:46:52.90 8cBHpzox0.net
話の流れで思い出したけど
これ使ったことある人いる?
マクロをC#で書けますよっていうやつ
URLリンク(mokumokucsharp.hateblo.jp)
Visual Studio Codeとかいうのもインストして
サンプルは動くんだけど
インテリセンスがうまく効かんくて使い方がよくわからない

506:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/25 23:01:14.52 Vr2PvTdG0.net
それもそうだけどクラスを含むプロジェクトを参照しているモジュールからそのクラスのインスタンスを
直接Newで作れないのにも困ってる。
Create~系の関数を書いて置き場所に迷う場合が特に。

507:デフォルトの名無しさん (ワッチョイ df6f-QK4i)
17/07/25 23:03:35.24 6CdgJbJQ0.net
仮にC#使いだったとしても、VBA覚えるわ。
VBAにある機能をどれくらいカバーしているのか。
99%以下ならイラネ。
ていうか、そもそもどういう仕様だろう。
C#で書いたのを、内部的にVBAに翻訳して標準モジュールに書き込むとかだったら笑う。

508:デフォルトの名無しさん (ワッチョイ df6f-QK4i)
17/07/25 23:05:23.65 6CdgJbJQ0.net
よく見たら、
全てのVBAコードを生まれる前に消し去りたいとか、凄いこと書いてる。
何かに憑りつかれてはいませんか。

509:デフォルトの名無しさん (ワッチョイ bf6d-fQyQ)
17/07/25 23:08:46.90 cmKKN7nU0.net
機能よりも言語仕様で
if()then
とかやっちゃう

510:デフォルトの名無しさん (ワッチョイ bf6d-fQyQ)
17/07/25 23:09:23.62 cmKKN7nU0.net
しかもうまく動くから消すか消すまいかで悩む

511:デフォルトの名無しさん (ワッチョイ a711-QK4i)
17/07/25 23:34:05.22 K76AsuLq0.net
重複した行を削除したいのですが、ググってみると
重複した下の行を削除するプログラムが殆どです。
上の行を消すプログラムはないでしょうか?

512:デフォルトの名無しさん (ワッチョイ a711-QK4i)
17/07/25 23:46:50.72 K76AsuLq0.net
自己解決しました。

513:デフォルトの名無しさん (ワッチョイ a76f-E/h9)
17/07/26 00:01:02.57 /aun+12z0.net
>>500
なんでこんな馬鹿なのに偉そうにできるんだろう

514:デフォルトの名無しさん (ワッチョイ df6f-QK4i)
17/07/26 00:08:54.58 7P86XL9W0.net
>>506
だって、要は、VBA使いこなせないからC#でとか言ってるわけだろ。
VBAに心の底から辟易って、使う人の能力の問題を、何で言語のせいにしてるのか。

515:デフォルトの名無しさん (ワッチョイ df11-pqVL)
17/07/26 00:11:51.48 U77Cst6m0.net
質問です。
Excel2007ですけど、複数のオートシェイプをグループ化せずに同時にカットできますか?
オートシェイプを選択してSelection.Cutメソッドを実行すると、なぜかセルがテカテカするのです。
ShapaRangeオブジェクトにはCutメソッドが無いみたいですし。
とりあえずSendKeys "^x"で対処してるけどなんだかなあ、という状況です。

516:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/26 00:13:05.34 kYPrva630.net
RangeのUnion、初期値がNothingのときエラーになるのが残念だ

517:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/26 00:13:33.72 kYPrva630.net
初期値つーか左辺

518:デフォルトの名無しさん (オッペケ Sr1b-QbI6)
17/07/26 00:


519:21:08.24 ID:o5MQIZHRr.net



520:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/26 00:30:16.20 kYPrva630.net
自分の仕事が楽になるならいいんじゃないか
共有するやつは別

521:デフォルトの名無しさん (ワッチョイ bf1b-pqVL)
17/07/26 00:50:15.20 Fm0oLH560.net
VBAって基本、かならず自動でコンパイルされた上で実行されるんですか?
[デバッグ]-[コンパイル]ってやらずに実行するとえらく遅いんですが。

522:デフォルトの名無しさん (アウアウカー Safb-7zDD)
17/07/26 03:26:24.46 KTzuPZaba.net
日本語変じゃね

523:デフォルトの名無しさん (オッペケ Sr1b-QbI6)
17/07/26 06:22:23.80 o5MQIZHRr.net
>>512
コード資産が共有できない(自分の中でも)、というプログラマにあるまじき行為。

524:デフォルトの名無しさん (ドコグロ MMfb-efHF)
17/07/26 07:04:52.98 2BL9ZNyZM.net
>>495
> URLリンク(officetanaka.net)
> が引っかかって
> えらい簡単に使えるんだなぁと思ったんだけど
これは知らなかったわ、教えてくれてありがとう
> ていうか、本当にいろいろ便利に使えるなら
> ググるだけでバンバン情報引っかかっていいと思うんだけど
> ArrayListのことくらいしか出てこんかった
ちょっとググったらCOM経由で動くみたいね(CreateObject で作成するんだから当たり前か)
URLリンク(qiita.com)

525:デフォルトの名無しさん (ドコグロ MMfb-efHF)
17/07/26 07:14:09.63 2BL9ZNyZM.net
>>498
これ使うぐらいならPowerShell使う

526:デフォルトの名無しさん (スッップ Sdff-AsiQ)
17/07/26 07:36:03.65 o8wFJ9U0d.net
>>515
環境の問題なら、自分のなかでは使い続けられるんじゃね?

527:デフォルトの名無しさん (ワッチョイ bf6d-E/h9)
17/07/26 07:46:37.45 rbCQuCda0.net
>>511
中間言語があるんだよなぁ

528:デフォルトの名無しさん (オッペケ Sr1b-QbI6)
17/07/26 07:52:21.56 o5MQIZHRr.net
>>518
既存のVBAコードに、C#で書いたプロシージャを呼び出すコードを追加することはできないよね。
VBAで書いたWinのExcelマクロはMacのExcelでも使えるけど、C#で書いたらMacでは使えないよね。

529:デフォルトの名無しさん (オッペケ Sr1b-QbI6)
17/07/26 07:53:30.08 o5MQIZHRr.net
>>519
え? マジで? kwsk

530:デフォルトの名無しさん (ワッチョイ 4791-2faK)
17/07/26 07:58:49.22 PoLK+oD40.net
VBAはもう言語仕様をアップデートするつもりはないんだろうけど
せめてIDEくらいはもうちょっと便利にして欲しい
>>516
つまり相互運用の登録がされているライブラリは使えるってことか
でもいちいち自分でdll作ってまでは使わないかなぁ…

531:デフォルトの名無しさん (ワッチョイ c773-5QOx)
17/07/26 08:36:41.46 N2NJoKbw0.net
eclipseがVBA対応したらウケるね

532:デフォルトの名無しさん (アークセー Sx1b-SP9G)
2017/07/2


533:6(水) 09:23:17.61 ID:2KFV8mEox.net



534:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 09:40:24.60 19gyZHTT0.net
>>522
dllを作るってどういう状況で必要になるのかよく分からんよな。
別途用意する必要があるって事は他人に使わせるのに難があるし、
VSTO使えるならVSで他の言語使った方が早い場面が多いだろうし、
自作のdllが必要になるような処理をVBAに求める場面というのが想像出来ない。

535:デフォルトの名無しさん (スッップ Sdff-AsiQ)
17/07/26 10:40:08.38 FItiZl47d.net
「Macだと」とか「プログラマとして」とかちょっとこのスレの想定ユーザーからはかけ離れてるんじゃないか?

536:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/26 10:40:27.92 nObVd20Fa.net
>>507
いや、vbaがクソ言語なのは避けようのない事実だろ
C♯erがわざわざ新しく覚える時間が無駄というのは分かるよ
オブジェクト指向にドップリしてたら使いにくいことこの上ないと思うし

537:デフォルトの名無しさん (スッップ Sdff-AsiQ)
17/07/26 11:27:30.63 FItiZl47d.net
そんなにクソ言語だとは思えない

538:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 11:43:09.73 19gyZHTT0.net
VBAをクソクソ言っている人たちはどういう立場なんだろうな。
クソだと思うなら近づかなければいいのに。
なんか他の言語でもメインで使い始めた途端にクソクソ言いそう。

539:デフォルトの名無しさん (スッップ Sdff-AsiQ)
17/07/26 11:49:10.59 FItiZl47d.net
作ったものを他人と共有しようとすると限界が低い。でも自分一人ツールと割り切れば相当なことができる。
Officeソフトにそれ以上求めてもしょうがないでしょ。

540:デフォルトの名無しさん (ワッチョイ c773-5QOx)
17/07/26 12:23:16.56 N2NJoKbw0.net
VBAは手軽さを重視してるんだから、高度な機能がないって意見は的外れなんだよ

541:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/26 12:43:21.28 0/Y/FM4fM.net
>>529
ん?
アマチュアの人かな?
お仕事ならクソだろうが使わざる得ない状況なんていくらでもあると思うが

542:デフォルトの名無しさん (ワキゲー MM9f-rceg)
17/07/26 12:47:32.19 aG45BvrzM.net
>>529
理解できない自分を正当化してるだけさ

543:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 12:57:07.83 19gyZHTT0.net
>>532
VBA言語をクソって言っちゃうくらいなのにVBAでお仕事取っちゃうの?
もう少し仕事は選んだ方がいいんじゃないか。

544:デフォルトの名無しさん (スップ Sdff-AsiQ)
17/07/26 13:05:35.40 ecs8OXuXd.net
そんなことだと底辺職業だと見なされるぞ

545:デフォルトの名無しさん (オッペケ Sr1b-QbI6)
17/07/26 13:36:33.55 o5MQIZHRr.net
>>526
うん、そういうこと。
ExcelマクロをC#で書くような人は、このスレの想定ユーザーからはかけ離れてるよね、ってこと。

546:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/26 13:40:18.49 nObVd20Fa.net
クソだけどofficeのマクロ言語はこれしかないから仕方なく使うしか無いだろ
プログラム言語としては時代遅れの化石なのはさすがに共通認識だと思ってたわ
現状くそなのもそうだし、これから先進化することも決してないこともクソ
あと、手軽さと高度な機能は別に共存できるでしょ

547:デフォルトの名無しさん (スップ Sdff-AsiQ)
17/07/26 14:23:28.25 ecs8OXuXd.net
>>536
それは別にかけ離れてはいないだろ
Macだとかプロのプログラマはかけ離れている

548:デフォルトの名無しさん (ワッチョイ a76f-E/h9)
17/07/26 14:25:46.34 /aun+12z0.net
プログラマとしてって言いだしたのって(オッペケ Sr1b-QbI6)だな
自演までして何がやりたいんだか・・・

549:デフォルトの名無しさん (JP 0H4f-QK4i)
17/07/26 14:27:35.77 +1cN/gIlH.net
>>527
> オブジェクト指向にドップリしてたら使いにくいことこの上ないと思うし
俺は逆だと思うよ
オブジェクト指向をよく知ってたほうが、VBAを使いこなせる
・クラスモジュールを使いこなす
・いわゆる「インタフェース継承」を使いこなす
・WithEventsを使いこなす
大抵の奴は「クラスモジュールっていつ使うんですか」レベルだから

550:デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
17/07/26 15:11:24.07 ZPUGQ/usa.net
>>540
俺の言いたいことを一ミリも汲んでくれてないなw
そりゃオブジェクト指向的なプログラミングを知ってれば非オブジェクト指向言語でも構造的に自然と書くようになる
それとこれとは別の話
機能がないからわざわざ自分で作らにゃいかんから不便だって話をしてる

551:デフォルトの名無しさん (ワッチョイ df06-pqVL)
17/07/26 16:52:15.43 6VvQXdi20.net
この手の下らんやり取りはこれまでもあったし、これからもウンザリするほど続くんだろうなぁ┐(´д`)┌ヤレヤレ

552:デフォルトの名無しさん (オッペケ Sr1b-QbI6)
17/07/26 18:04:37.55 o5MQIZHRr.net
>>539みたいに、自演自演て騒ぐ奴をしばしば見かけるけど、彼は何がしたいの?
つか、そもそもここは自演ができないスレなんだよね?
こういうのはスルーしたほうがよいのでしょうか。

553:デフォルトの名無しさん (ササクッテロル Sp1b-8s/R)
17/07/26 18:16:40.16 VQAVDfi4p.net
>>541
オブジェクト指向と機能は別の概念だけどな
機能は言語がなんであっても追加出来るだろうし
オブジェクト指向は言語に関する概念だから

554:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 18:30:45.45 19gyZHTT0.net
オブジェクト指向は設計に対する概念

555:デフォルトの名無しさん (JP 0H4f-QK4i)
17/07/26 18:33:38.33 +1cN/gIlH.net
>>541
オブジェクト指向の一切を封じられてるから使いづらいというのなら、それはそうでもないってことさ
機能が足りないというんなら、先人が作ったライブラリでも探せば?
URLリンク(github.com) とか

556:デフォルトの名無しさん (ササクッテロル Sp1b-8s/R)
17/07/26 18:41:04.50 VQAVDfi4p.net
>>545
設計と言語両方じゃね?

557:デフォルトの名無しさん (ワッチョイ bf6d-E/h9)
17/07/26 19:21:44.23 rbCQuCda0.net
>>540
自作クラスってどういう時に使うの?
excelが思いっきりオブジェクトだから、それに対する手続き的な操作しかしないわ

558:デフォルトの名無しさん (スップ Sdff-AsiQ)
17/07/26 19:28:41.05 ecs8OXuXd.net
>>548
状態を持ったモノを扱いたいときじゃね?
状態を持たないんだったら関数の組み合わせで表現するのは簡単だ。

559:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/26 19:39:55.05 pjdGyN9QM.net
>>534
言語で仕事選べるとか無職の発送は素晴らしいな w

560:デフォルトの名無しさん (ワッチョイ a791-8s/R)
17/07/26 19:42:18.93 W1HWCg900.net
>>549
状態を持つ⇒オブジェクトを使う
対偶は
オブジェクトを使わない⇒状態を持たない
対偶は必ず真とはいえなくない?

561:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/26 19:45:32.31 pjdGyN9QM.net
>>548
ログクラスとか作ってたな
書き込むシートと書き込む行を別々に管理するのは嫌だったから
でも継承もできないしコンストラクタの引数も持てない状況ではあまり使いやすくならないし結局クラスはほとんど使わない
そもそも俺がずっと保守するわけにもいかんから

562:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 19:45:44.80 19gyZHTT0.net
>>547
オブジェクト指向言語は「オブジェクト指向的な設計が可能な言語」の事だから、
言語によってオブジェクト指向が決まるわけではないし、言語に対する概念というと違うと思うなぁ。
>>550
募集要項に何の言語が出来るかとか普通書いてないか?
Javaで募集かけたけどC#での開発がメインですみたいなカオスな職場もあんまりないだろ。

563:デフォルトの名無しさん (ワッチョイ e711-MZAo)
17/07/26 19:46:32.77 +NZ2Dbuu0.net
>>544
オブジェクト指向をサポートしてるかって話だよ
なんとなく分かるべ
>>546
ことさ、じゃなくてさ
俺はそういうところがクソだと言ってるの
クソはクソでも使わなきゃいから使うだけで
ライター、チャッカマン、バーナーが他所であるのにマッチでも火をおこせるしこれはこれで良いもんだぞって言ってるようなもん

564:デフォルトの名無しさん (ワッチョイ bf6d-E/h9)
17/07/26 19:52:11.21 rbCQuCda0.net
>>552
ログはfunctionだなぁ
コンストラクタ使えないと、わざわざNewしてクラス無いメソッド呼び出してって二度手間じゃね。
functionならいつでもどこでも一行で済む

565:デフォルトの名無しさん (スップ Sdff-AsiQ)
17/07/26 19:53:00.06 ecs8OXuXd.net
>>551
⇒(ならば)とは言ってないけどな
まあ、オブジェクトを使わない⇒状態を持たせづらい(グローバル変数を使うはめになる)
あくまでVBAでの話だよ

566:デフォルトの名無しさん (ワッチョイ bf6d-E/h9)
17/07/26 19:53:37.44 rbCQuCda0.net
>>549
例えば、具体的にどういう時に使うの?
状態って言っても初期値とかExcelから拾ってくるから、それをわざわざclassにほーり込むのもなー

567:デフォルトの名無しさん (ワッチョイ a791-8s/R)
17/07/26 19:56:29.43 W1HWCg900.net
>>553
オブジェクト指向言語は
オブジェクト指向設計したものを
そのまま実装し易い言語じゃないかな
言語の概念でもあると思うけどな
オブジェクト指向言語じゃなくても実装できるのは確かだけど
それならVBAでもオブジェクト指向設計を実装できるんじゃないかな

568:デフォルトの名無しさん (スップ Sdff-AsiQ)
17/07/26 19:57:08.36 ecs8OXuXd.net
>>557
初期値より途中の経緯を記憶しておかないと次の計算ができないものとか?
「ワークシートに書き出す」じゃ再利用性に欠ける

569:デフォルトの名無しさん (ワッチョイ bf6d-1kH5)
17/07/26 20:08:20.48 rbCQuCda0.net
>>559
だから具体的にどんなことをするんだよw
ゲームとかはナシでね

ちと思いつかない

570:デフォルトの名無しさん (ワッチョイ a791-8s/R)
17/07/26 20:09:21.78 W1HWCg900.net
>>556
グローバル変数を使わなくても状態を表現できるんじゃね?

例えば再帰関数みたいに状態を引数にするとか

571:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/26 20:11:22.90 pjdGyN9QM.net
>>553
> オブジェクト指向言語は「オブジェクト指向的な設計が可能な言語」の事だから
そんなことを言い出したらアセンブリ言語でもオブジェクト指向は可能だよ
そういう極端な話をしたい訳じゃないんだと思うよ
> >>550
> 募集要項に何の言語が出来るかとか普通書いてないか?
ああ、そういう働き方してるひとなのね
もっとでっかい案件レベルのつもりだったから話が噛み合わないのも無理ないな

572:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/26 20:12:48.62 pjdGyN9QM.net
>>555
書き込み行はどうやって覚えてるの?
複数のログを扱うとか面倒じゃね?

573:デフォルトの名無しさん (ドコグロ MM9f-efHF)
17/07/26 20:15:20.68 pjdGyN9QM.net
>>558
> それならVBAでもオブジェクト指向設計を実装できるんじゃないかな
関数ポインタがないから継承とか無理じゃね?

574:デフォルトの名無しさん (ワッチョイ a791-8s/R)
17/07/26 20:15:48.34 W1HWCg900.net
状態を持つ必要がある入出力関係が
独立に多数ある場合は
クラスを使うと比較的実装が簡単になるのかな?

575:デフォルトの名無しさん (ワッチョイ bf6d-1kH5)
17/07/26 20:17:56.75 rbCQuCda0.net
>>563
ログはlogシート一つ、3列
時間 / タイプ / 内容
7/26 20:00 log 作業開始
7/26 20:05 success 作業成功
7/26 20:07 error err.discriptionの内容
7/26 20:10 log 作業終了
で、書き込む時に毎回A列の最終行を取得し、そこに記録してる
覚える必要はないと思う

576:デフォルトの名無しさん (ワッチョイ e711-MZAo)
17/07/26 20:24:18.05 +NZ2Dbuu0.net
表の検索とかsqlでやる人もいるんだろうけど自分としてはクラスにしちゃうのがしっくりくるわ
配列の操作もクラスにしてると楽
あと、似たような処理で操作する対象が違うメソッドなんかは同じ名前にしても問題ないところとかも地味に便利だよ
関数だと命名に困ることがよくある

577:デフォルトの名無しさん (スップ Sdff-AsiQ)
17/07/26 20:30:27.76 ecs8OXuXd.net
>>560
さあ?いろいろあるでしょ
数値を放り込むとその度に回数をカウントアップし、最大値・最小値、合計、時刻を記録する、とか。
これくらいだったらワークシートでもできるけど、そういう対象が数多くなるとオブジェクト配列でやりたくなる。
どのワークシートのどこに?とか考える必要なくなるしエクセル以外のOfficeでも使えるし。

578:デフォルトの名無しさん (ワッチョイ a791-8s/R)
17/07/26 20:51:20.79 W1HWCg900.net
>>564
一般的な形では難しいかもしれないけど
サブクラスに相当する関数から
スーパークラスに相当する関数を呼べばいいんじゃね?
逆にスーパークラスに相当する関数に
スイッチみたいな引数を付けて
サブクラスに相当する関数に分岐するとか

579:デフォルトの名無しさん (ワッチョイ df6f-QK4i)
17/07/26 21:00:52.52 7P86XL9W0.net
>>567
SQLを使うのって速度的な理由。
自作クラスでSQL以上のスピードが出るなら、
みんなそうするわ。

580:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 21:20:54.79 19gyZHTT0.net
>>558
VBAで出来ないと思っているならオブジェクト指向を何か勘違いしているからオブジェクト指向設計の本を読むといいよ。
他の言語みたいな書き方が出来ないだけで、VBAでもオブジェクト指向プログラミングは普通に出来るから。

581:デフォルトの名無しさん (ワッチョイ e711-MZAo)
17/07/26 21:34:48.38 +NZ2Dbuu0.net
>>570
まあ、あんまり大きなデータは扱わんからな
別に検索する形式が決まってるなら内部的にsqlで値抜き出してもいいわけだし
データの塊をオブジェクトとして扱っちゃったほうが何かまとまり感あってしっくり来るって感じかな

582:デフォルトの名無しさん (ワッチョイ e711-MZAo)
17/07/26 21:36:24.28 +NZ2Dbuu0.net
>>571
できるできないの話じゃないんだって
あとオーバーライドはちょっと厳しくないか
どうやって実装する?

583:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/26 21:54:31.59 kYPrva630.net
>>564
AddressOf あるし使おうと思えば使える

584:デフォルトの名無しさん (ワッチョイ 473d-pqVL)
17/07/26 22:02:04.56 19gyZHTT0.net
>>573
自身のメンバとして基底クラスを宣言して、基底クラスに自身を登録して、
基底クラスのメソッドを実行すると基底クラス側で自身の特定のメソッドが呼ばれるとかかな。

585:デフォルトの名無しさん (ワッチョイ df11-efHF)
17/07/26 22:05:43.16 gz+R3HSW0.net
>>569
さすがにそれはないわ...

586:デフォルトの名無しさん (ワッチョイ df11-efHF)
17/07/26 22:09:54.70 gz+R3HSW0.net
>>574
アドレス取るのはいいけどどうやって使うつもり?

587:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/26 22:32:43.94 kYPrva630.net
>>577
ごめんVBAから直接には使えなかった

588:デフォルトの名無しさん (ワッチョイ bf23-FdGq)
17/07/26 23:08:50.27 +wB1yzpw0.net
>>511
officeも何もなくてもc#書けるけど。
コンパイラ初めからあるから。

589:デフォルトの名無しさん (ワッチョイ bf23-FdGq)
17/07/26 23:11:34.30 +wB1yzpw0.net
vbaでオブジェクト指向とか中級者がやることだな。
初心者よりタチ悪いこともある。

590:デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
17/07/26 23:58:17.75 kYPrva630.net
上級者はなにするんだ?

591:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 00:50:19.96 Gu8HEug70.net
>>576
なぜ?
で、どうするの?

592:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 01:05:44.74 Gu8HEug70.net
>>571
VBAと言う言語にクラスとかオブジェクト指向の概念が入っている
つまりオブジェクト指向の概念は言語にもつながる
と言う主張
一方でオブジェクト指向は設計にのみ関わる概念と言う主張もある
オブジェクト指向の概念を取り入れた言語でオブジェクト指向設計したものを実現するのと
オブジェクト指向の概念がない言語で実現するのでは
生産性とかに差が生じるだろう

593:デフォルトの名無しさん (ワッチョイ 2623-toSE)
17/07/27 01:36:25.07 Ddw23w1u0.net
>>581
上級者はvbaは大人しく手続き型的にやるよ。

オブジェクト指向しようとして、これできないかなーあれできないかなーとか悩むだけ無駄。

594:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 01:54:44.40 Gu8HEug70.net
>>584
各シートの統計情報を取りたい時はどうする?
例えば、セルを更新した回数、最大値、最小値、平均値
を各シート毎に知りたい時

後から分散とか標準偏差とかも知りたくなったらどうする?

595:l (ワッチョイ 0fcf-GNib)
17/07/27 02:24:19.55 lqCZB24a0.net
Youtuberヒカルが月収を明らかに!!おはよう朝日です出演
URLリンク(www.youtube.com)
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
URLリンク(www.youtube.com)
ユーチューバーの儲けのカラクリを徹底検証!
URLリンク(www.youtube.com)
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
URLリンク(www.youtube.com)
誰も言わないなら俺がYouTuberのギャラ相場を教えます
URLリンク(www.youtube.com)
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
URLリンク(www.youtube.com)

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいい
顔出したくないならラファエルみたいに仮面かぶればいい
手っ取り早く視聴数稼ぐには有名ユーチューバーへの物申す系動画がオススメ

596:デフォルトの名無しさん (ワッチョイ 2623-toSE)
17/07/27 04:56:34.97 Ddw23w1u0.net
>>585
クラスやらユーザ定義型を作るね。

597:デフォルトの名無しさん (オッペケ Srb3-ZCwv)
17/07/27 05:41:33.30 8/6stQ5Xr.net
>>584
つ 上級者の定義

598:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 06:25:09.17 Gu8HEug70.net
>>587
クラスってオブジェクト指向じゃないの?

上級者的に手続き型でやらないの?

599:デフォルトの名無しさん (ドコグロ MM8a-gqKx)
17/07/27 06:47:24.74 P1js1uXhM.net
>>582
> なぜ?

> 逆にスーパークラスに相当する関数に
> スイッチみたいな引数を付けて
> サブクラスに相当する関数に分岐するとか
サブクラスを増やす度にスーパークラスに手を入れるつもりなの?
真顔で言ってるなら単なるアホだろ w

> で、どうするの?
無理じゃね?
って書いてあるんだが...

600:デフォルトの名無しさん (ドコグロ MM8a-gqKx)
17/07/27 07:00:09.74 P1js1uXhM.net
>>585
> 各シートの統計情報を取りたい時はどうする?
要件次第
> 例えば、セルを更新した回数、最大値、最小値、平均値
> を各シート毎に知りたい時
更新回数以外は全セルなめて計算することもあるしイベント毎に合計、最大、最小を更新していくのもあるだろうな
> 後から分散とか標準偏差とかも知りたくなったらどうする?
そういう機能を実装するだけ
イベント以外はオブジェクト指向関係ないと思うぞ

601:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 07:12:45.05 Gu8HEug70.net
>>590
でいちいち同じ処理をコピペするの?

602:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 07:13:37.01 Gu8HEug70.net
>>591
生産性が違うんじゃね?

603:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 07:15:00.43 Gu8HEug70.net
>>591
全セルなめるとか性能要件を満たせなくなる可能性が高いだろ

604:デフォルトの名無しさん (ワッチョイ 666d-V1Wy)
17/07/27 07:17:39.18 mlaDFoVL0.net
>>594
それはその時に考えたほうが良いと思う
大体
> 例えば、セルを更新した回数、最大値、最小値、平均値
> を各シート毎に知りたい時
こんな状態がまずないw

605:デフォルトの名無しさん (ワッチョイ db91-ntdb)
17/07/27 07:17:56.55 Gu8HEug70.net
>>590
サブクラスからスーパークラスを呼ぶ方は?

606:デフォルトの名無しさん (ドコグロ MM8a-gqKx)
17/07/27 07:37:59.47 P1js1uXhM.net
>>592
どこからコピペが出てきたのか意味不明

>>593-594
だから「要件次第」って書いてあるんだが
最初に一度はなめないといけないから一回しか呼ばれないと言う要件ならその方が効率的だし

>>596
それになんの意味があるんだ?
マジでオブジェクト指向の基礎からやり直した方がいいレベルだぞ

607:デフォルトの名無しさん (ワッチョイ 2623-toSE)
17/07/27 07:40:20.87 Ddw23w1u0.net
>>589
そうだよ。
データ構造だけ定義するんだよ。

608:デフォルトの名無しさん (アウアウエー Sae2-kGGk)
17/07/27 08:16:42.60 LMuXn2N9a.net
>>575
結局それだと要らんもんまで呼び出したり不便なんだよ
やれんことはないけど不便
オーバーロードもやれんことはないけど実装がめんどくさい
使いたい場面は結構出てくると思うけどね
インターフェースもなんかスマートじゃないし

609:デフォルトの名無しさん (ワッチョイ 1f73-cdfR)
17/07/27 08:50:43.35 f8l+azOG0.net
お前らスレタイ読んで他所へ行け

610:デフォルトの名無しさん (ワッチョイ db5a-PZKh)
17/07/27 09:44:44.74 cQuO+1bD0.net
【IT】10代のネット環境「スマホのみ」が7割、「PCのみ」は25%にとどまる [無断転載禁止]©2ch.net
スレリンク(bizplus板)

611:デフォルトの名無しさん (スップ Sd8a-y7IM)
17/07/27 09:49:36.92 yI2DKD3yd.net
>>600
クラスモジュールがある以上、このスレの話題として守備範囲内

612:デフォルトの名無しさん (JP 0H76-ZO1u)
17/07/27 10:22:34.31 ZNB0F0Q0H.net
>>554
> ライター、チャッカマン、バーナーが他所であるのにマッチでも火をおこせるしこれはこれで良いもんだぞって言ってるようなもん
マッチだけでも十分OOできる
それにWithEventsもあるしね
URLリンク(github.com) のソース読んだか?以外といろいろできるぞ

613:デフォルトの名無しさん (スップ Sd8a-y7IM)
17/07/27 10:40:17.72 yI2DKD3yd.net
>>603
これはあなたが作者さんなの?

興味深いが手っ取り早く知りたい
VBEX /testから読めばいいのかな?

614:デフォルトの名無しさん (JP 0H76-ZO1u)
17/07/27 10:55:11.44 ZNB0F0Q0H.net
>>604
> これはあなたが作者さんなの?
いや、俺じゃないよ
コードサンプルとして読んでみたらってこと

あとこれとか
URLリンク(github.com)

OOの知識があって、いわゆる「インターフェース継承」を視野に入れれば、かなりのことができる
さらに、WithEventsを使えば双方向データバインディングなんかも実装できる

615:デフォルトの名無しさん (ドコグロ MM22-toSE)
17/07/27 11:24:49.36 698/A489M.net
インタフェースなんかvbaで使うなボケ

616:デフォルトの名無しさん (スップ Sd8a-y7IM)
17/07/27 11:56:09.26 yI2DKD3yd.net
>>605
うーん、、、
日本語のないかな?(ボソッ

617:デフォルトの名無しさん (アークセー Sxb3-PRKf)
17/07/27 12:01:06.07 SAqwCo2Mx.net
>>606
ほーわーいー

618:デフォルトの名無しさん (スップ Sd8a-y7IM)
17/07/27 12:17:23.37 yI2DKD3yd.net
チンリン山脈

619:デフォルトの名無しさん (アウアウエー Sae2-kGGk)
17/07/27 13:24:05.39 LMuXn2N9a.net
>>603
いやだからさ
俺の言いたいこと伝わらないし理解する気無いよね
こっちはマッチしか無いから仕方なくマッチ使ってんの
不満だからって努力を放棄してるわけじゃないからな?
ただどう考えても手間だろ
そんだけの話

620:デフォルトの名無しさん (JP 0H76-ZO1u)
17/07/27 14:02:53.37 ZNB0F0Q0H.net
>>610
君も俺の言いたいこと1ミリも理解しようとしてないから、お互い様だね

621:デフォルトの名無しさん (ササクッテロル Spb3-ntdb)
17/07/27 14:43:39.94 DPiXNUUHp.net
>>597
意味がわからない?
学びなおした方が良いぞ

622:デフォルトの名無しさん (ドコグロ MM8a-gqKx)
17/07/27 16:09:11.81 P1js1uXhM.net
>>612
> サブクラスに相当する関数から
> スーパークラスに相当する関数を呼べばいいんじゃね?
そこまで言うならなんの意味があるのか説明してみな

623:デフォルトの名無しさん (ワッチョイ ea06-HJpE)
17/07/27 16:44:21.21 7xCZa4oD0.net
だからさぁお前らは雑談したいだけだろ?スレ立ててそこでやれっつーの
クソうぜぇ

624:デフォルトの名無しさん (アウアウエー Sae2-kGGk)
17/07/27 16:44:34.77 uf/My/5wa.net
>>611
使い方によってはvbaだってoopできるよ!って言いたいんでしょ?

625:デフォルトの名無しさん (JP 0H76-ZO1u)
17/07/27 17:00:44.58 ZNB0F0Q0H.net
>>615
さいしょから言ってるでしょ
> オブジェクト指向にドップリしてたら使いにくいことこの上ないと思う
なことないよ

626:デフォルトの名無しさん (スップ Sd8a-y7IM)
17/07/27 17:11:23.71 yI2DKD3yd.net
使いたいときに便利な機能を自由につまみ食いできるのがいいライブラリだと思っているんだが、
オブジェクト指向のライブラリって少しおせっかいというか世界観を押し付けてくるところがある。
会員にならないと利用できないサービスみたいな感じ。
自分で作ったものを自分で利用する分には当然問題ないんだけどね。
VBAの言語機能の弱さを考えると、クラス間の関連のある体系的な使い方を実現するのは厳しいだろう。

627:デフォルトの名無しさん (アウアウエー Sae2-kGGk)
17/07/27 17:44:10.44 uf/My/5wa.net
>>616
俺は工夫を強いられてる時点でうんちだと言�


628:チている 以上です



629:デフォルトの名無しさん (JP 0H76-ZO1u)
17/07/27 17:59:09.25 ZNB0F0Q0H.net
経験不足だね
言語10個くらいマスターしてこい

630:デフォルトの名無しさん (アウーイモ MM9f-k5Qo)
17/07/27 19:42:01.40 xCwJ4jCdM.net
某サイトを参考にメールを一括作成するVBAを書いています。
createitemfromtemplateの行で「実行時エラー13 型が一致しません」というエラーが出ます。
どうやらcreateitemfromtemplateがうまく機能していないようなのですが、解決方法を教えていただけませんでしょうか。
よろしくお願いいたします。
※「Microsoft Outlook 14.0 Object Library」の参照設定はONになっています。
-----------------------------------
Sub main()

Dim OL As New Outlook.Application
Dim M As MailItem

Dim MaxRow: MaxRow = Range("A1").End(xlDown).Row

For i = 2 To MaxRow
Set M = OL.createitemfromtemplate("D:\本文.msg")

M.To = Cells(i, 列.件名).Value
M.Subject = Cells(i, 列.件名).Value
M.Attachments.Add "D:\" & Cells(i, 列.添付ファイル).Value
M.HTMLBody = Replace(M.HTMLBody, "●●", Cells(i, 列.氏名).Value)
M.SaveAs "D:\" & Cells(i, 列.企業名).Value & "_" & Cells(i, 列.氏名).Value & ".msg"
Next

End Sub
-----------------------------------

631:デフォルトの名無しさん (ワッチョイ 6623-V1Wy)
17/07/27 20:32:44.20 60P4ZjAM0.net
>>620
msdnのリファレンスをみると
Outlookテンプレート(.oft)を指定しろって書いてあるので
怒られているとおり、型がちがうのでしょう。

CreateItemメソッドを使えばいいんじゃないでしょうか。

632:デフォルトの名無しさん (ワッチョイ 0fe4-Tef8)
17/07/27 21:59:25.00 aAe8+IMH0.net
オブジェクト指向がどうこうって語りたいなら

オブジェクト指向
って言葉と
オブジェクト指向言語
って言葉をちゃんと区別して発言して下さい

633:620 (アウーイモ MM9f-k5Qo)
17/07/27 22:07:28.99 xCwJ4jCdM.net
>>621
返信ありがとうございます!!
すみません、CreateItemでも変わらずエラーでした・・。
ちなみに下記のように.oftを指定しても同じでした。
これは本当に不思議です・・・。

---------------------------------------
Sub test03()

Dim OL As New Outlook.Application
Dim M As MailItem
Set M = OL.CreateItemFromTemplate("D:\本文.oft")

M.To = "aaaa@bbb.co.jp"
M.SaveAs "D:\test03.msg"

End Sub
---------------------------------------

634:デフォルトの名無しさん (ワッチョイ 6aaa-V1Wy)
17/07/27 22:19:54.50 eHKEweRs0.net
関西のお笑いと関西のお笑い芸人も区別して語るべきなのか?

635:デフォルトの名無しさん (アークセー Sxb3-PRKf)
17/07/27 22:40:28.48 SAqwCo2Mx.net
>>624
そうよ

636:デフォルトの名無しさん (ワッチョイ ea6f-ZO1u)
17/07/27 22:46:54.67 e65zqkX+0.net
俺予想だと、2023年くらいに.NETと統合されるので、大丈夫じゃないの。

637:デフォルトの名無しさん (ワッチョイ 6623-V1Wy)
17/07/27 23:04:48.75 60P4ZjAM0.net
>>623
Sub test()

Dim ol As New Outlook.Application
Dim mi As MailItem
Set mi = ol.CreateItem(olMailItem)
mi.Display

End Sub

この最小構成でメール編集画面がでるかお試しを。
出なかったら参照設定が変なのかも。
Excelのバージョンが変わると勝手に参照設定のバージョンも
変わるという罠に引っかかったことがあるので。
実行時バインディングでやってみると言う手もあり。

638:620 (アウーイモ MM9f-6wLz)
17/07/27 23:18:55.37 xCwJ4jCdM.net
>>627
最小構成でやってみると、やはり同じエラーでした!
これは、参照ができていないのですか??

639:デフォルトの名無しさん (オッペケ Srb3-ZCwv)
17/07/27 23:25:30.12 8/6stQ5Xr.net
'// 1行目の項目名が、A列から順に
'//[アドレス][件名][添付ファイルパス][本文]
'// のとき、

Dim dataSet
Dim lastRow As Long
Dim i As Long

lastRow = Cells(Rows.Count, 1).End(xlUp).Row
dataSet = Range(Cells(2, 1), Cells(lastRow, 4)).Value

With CreateObject("Outlook.Application")
  .GetNamespace("MAPI").GetDefaultFolder(16).Display
  For i = 1 To lastRow - 1
    With .CreateItem(olMailItem)
      .To = dataSet(i, 1)
      .Subject = dataSet(i, 2)
      .Attachments.Add dataSet(i, 3)
      .Body = dataSet(i, 4)
      .Save
    End With
  Next i
End With

640:デフォルトの名無しさん (ワッチョイ 6623-V1Wy)
17/07/27 23:27:06.45 60P4ZjAM0.net
>>628
よく考えたら、参照ならその前にエラーを吐きそう。
ためしに

Sub test()

Dim ol As Object
Set ol = CreateObject("Outlook.Application")
Dim mi As Object
Set mi = ol.CreateItem(olMailItem)
mi.Display

End Sub
これをOption Explicitを無効にして実行したら
どうなるでしょうか?

だめならOS再起動してみる。
どうにも理解不能なエラーがこれで直ったことがあるw。

641:デフォルトの名無しさん (ワッチョイ 0fe4-Tef8)
17/07/27 23:56:32.00 aAe8+IMH0.net
>>628
まず、そのユーザーでOutlookはちゃんと動いてメールの送受信できるのか?

642:620 (アウーイモ MM9f-6wLz)
17/07/28 00:24:24.58 EJW5hZGgM.net
>>630
試しましたが同じエラーでした。

>>631
問題なくできています。


みなさん、ご協力ありがとうございます。ご迷惑おかけしてすみません。
今気づいたのですが参照先が14.0でした。最新は15.0なんですよね?これが原因でしょうか?

643:620 (アウアウアー Sab6-6wLz)
17/07/28 04:23:09.57 Kx1QSHwna.net
皆様ありがとうございました! 
理由はわかりませんが突然できるようになりました!
本当にご迷惑おかけしました!

644:デフォルトの名無しさん (オッペケ Srb3-ZCwv)
17/07/28 04:32:44.73 ccATQH/dr.net
>>632
ごめん。コード間違ってた。orz

参照設定をoffにし、↓のコードで試してみて。

'// olMailItemを直値(0)に変えた
Dim dataSet
Dim lastRow As Long
Dim i As Long

lastRow = Cells(Rows.Count, 1).End(xlUp).Row
dataSet = Range(Cells(2, 1), Cells(lastRow, 4)).Value

With CreateObject("Outlook.Application")
  .GetNamespace("MAPI").GetDefaultFolder(16).Display
  For i = 1 To lastRow - 1
    With .CreateItem(0)
      .To = dataSet(i, 1)
      .Subject = dataSet(i, 2)
      .Attachments.Add dataSet(i, 3)
      .Body = dataSet(i, 4)
      .Save
    End With
  Next i
End With

645:デフォルトの名無しさん (オッペケ Srb3-ZCwv)
17/07/28 04:34:16.17 ccATQH/dr.net
一歩遅かったか…orz

646:620 (アウアウアー Sab6-6wLz)
17/07/28 06:49:10.86 Kx1QSHwna.net
>>635
おはようございます!
ありがとうございます!

647:デフォルトの名無しさん (ワッチョイ db11-AITk)
17/07/28 23:02:57.85 +oxMyCi10.net
win10
excel2016で
MSXML2.XMLHTTPを使って
responseTextでgoogle検索結果のページを取得しようとすると、
responseTextで返ってきたものが、今までwin7 excel2007などで返ってきたものと全然違うんですが、win7の時のように受け取る方法ってありませんか?

win7の時はhtmlそのものが返ってきてましたがwin10では最初の方が判読困難です。

やろうとしていることは、vbaでgoogle画像検索の結果の画像をセルに表示しようと思ってます。

648:デフォルトの名無しさん (ワッチョイ 6aaa-V1Wy)
17/07/30 10:16:32.82 WZc9I6Vq0.net
そういえば responseBody しか使ったことないなあ
(adTypeBinary な ADODB オブジェクトに Write するために)

649:デフォルトの名無しさん (ワッチョイ db11-AITk)
17/07/30 12:41:33.40 ND/Yhbfk0.net
すみません、いろいろ試してたんですが、google以外ではちゃんと同じようなものを受け取れてました。
googleでは環境によって返すものが違うのかもしれません。
その先はスレ違いになるので自分でいろいろやってみます。ありがとうございました。

650:デフォルトの名無しさん (ワッチョイ 666d-fl5W)
17/07/30 15:24:50.24 LIjBkUDz0.net
api以外でgoogleの検索結果を取得しないほうがいい
すぐにアクセス禁止になる

651:デフォルトの名無しさん
17/08/02 00:57:39.97 O3oN8G+MM.net
Function Name2Adr(str As String)
Dim Cts As Folder, Ct As ContactItem
Set Cts = CreateObject("Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set Ct = Cts.Items.Find("[Email1DisplayName] = '" & str & "'")
If Ct Is Nothing Then Name2Adr = "不明" Else Name2Adr = Ct.Email1Address
Set Cts = Nothing: Set Ct = Nothing
End Function
↑ローカルのアドレス帳から表示名を検索しメアドを返す関数です。これはうまくいくのですが、
↓下のグローバルアドレス帳を検索するものがうまくいきません。エラーメッセージは「オブジェクト


652:はこのプロパティまたはメソッドをサポートしていません」です。 どなたか解決法をご教示ください。よろしくお願いします。 Function gName2Adr(str As String) Dim olApplication As Outlook.Application Dim olNameSpace As Outlook.Namespace Dim olAddressLists As Outlook.AddressLists Dim olAddressList As Outlook.AddressList Dim olAddressEntries As Outlook.AddressEntries Set olApplication = New Outlook.Application Set olNameSpace = olApplication.Session Set olAddressLists = olNameSpace.AddressLists Set olAddressList = olAddressLists.Item(2) Set olAddressEntries = olAddressList.AddressEntries Dim olAddressEntry As Outlook.AddressEntry Set olAddressEntry = olAddressEntries.Items.Find("[Email1DisplayName] = '" & str & "'") '←この行でエラー If olAddressEntry Is Nothing Then gName2Adr = "不明" Else gName2Adr = olAddressEntry.Email1Address End Function



653:デフォルトの名無しさん
17/08/02 02:57:39.31 9fnjiac4a.net
>>641
名前長いな

654:デフォルトの名無しさん
17/08/02 06:22:21.40 Yub86NHXr.net
少々長くてもわかりやすい名前をつけるのが基本だからね。
ハンガリアンよりは全然いい。

655:デフォルトの名無しさん
17/08/02 06:31:28.66 SLRN4nNP0.net
少々長くても分かりやすい名前を付ける、それがハンガリアン記法

想像してるのはたぶんシステムハンガリアン記法

656:デフォルトの名無しさん
17/08/02 07:20:47.27 Mrcj6vwlM.net
変数はAddressなのにメソッド名はAdrで統一してないのは理由あるの?

657:デフォルトの名無しさん
17/08/02 07:40:08.64 ed9o3kBwx.net
変数名長いなぁ
olAppとかAdrListとかにすれば良いやん

658:デフォルトの名無しさん
17/08/02 07:40:35.97 Yub86NHXr.net
>>644
単に「ハンガリアン」と言った場合は、システムハンガリアンの意味で用いられていることが多い。

ということでどうかひとつ。

659:デフォルトの名無しさん
17/08/02 07:44:09.62 Yub86NHXr.net
>>646
むしろ関数名を

GetNameToAdddress

にしたほうがいいかも。

660:デフォルトの名無しさん
17/08/02 07:44:43.49 boOv7Sns0.net
>>641
Dim Cts As Folder, Ct As ContactItem

ユーザー定義型が定義されてません
エラーが出た

661:デフォルトの名無しさん
17/08/02 08:11:17.19 i5+f8wczM.net
>>649
参照設定してないだけじゃね?

662:デフォルトの名無しさん
17/08/02 08:56:23.68 boOv7Sns0.net
>>650
まぁそうだけど、どれ参照するのか探すのめんどい
開発用に、コンポーネント参照の全選択ほしいな。それともあるんかな?

663:デフォルトの名無しさん
17/08/02 09:10:48.85 Y/LidHA/0.net
>>650
649は店に来たお客さんのつもりのようだから、まともに相手する必要はないよ

664:デフォルトの名無しさん
17/08/02 11:50:02.54 a22879YUM.net
単なる自己満足なんだからそこまで突っ込むなよ
どうせ永遠に平行線なんだろ?

665:デフォルトの名無しさん
17/08/02 12:08:29.03 pZ2w6jYsM.net
>>648
メソッドの頭文字は小文字にしたいな
あとd多いのはなんか意図あるの?

666:デフォルトの名無しさん
17/08/02 12:26:23.95 Yub86NHXr.net
>>654
ごめん、dはタイプミスだ。

メソッドの頭文字を小文字にするのは何流?
VBA流では大文字だよね。

667:デフォルトの名無しさん
17/08/02 12:33:57.68 x+1N4OhAM.net
>>655
言語関係なくただのキャメルケースだよ

668:641
17/08/02 13:14:55.44 1uis+HfsM.net
みなさん、ご迷惑おかけしてすみません。
outlook vbaのスレに書くべき質問だったでしょうか、、

>>649
すみません、outlookのライブラリです。
よろしくお願いします。

669:デフォルトの名無しさん
17/08/02 15:50:17.32 Yub86NHXr.net
>>656
いや、だからメソッドをキャメルケースにするのは何流なのかなと。

670:デフォルトの名無しさん
17/08/02 16:45:06.13 pmz5Ebvba.net
>>658
javascriptはキャメルだと思う

671:641
17/08/02 16:56:06.29 uQ5PKG3iM.net
みなさん、ご迷惑おかけしてすみません。
outlook vbaのスレに書くべき質問だったでしょうか、、

>>649
すみません、outlookのライブラリです。
よろしくお願いします。

672:デフォルトの名無しさん
17/08/02 18:07:23.96 Yub86NHXr.net
>>659
IDの最後がvbaだ。カコイイ

なるほど、メソッドキャメルはJS流だったのね。サンクス

673:デフォルトの名無しさん
17/08/02 18:28:23.95 i5+f8wczM.net
>>660
Outlook VBA スレないからまあここでもいいと思うが仕事中に軽くググった範疇だといい方法が見つからん
> Set olAddressEntry = olAddressEntries.Items.Find("[Email1DisplayName] = '" & str & "'") '←この行でエラー
Items.Find( ) は Folder オブジェクトしか持ってないからここでエラーになるのは当然
グローバルアドレス帳(Global Address List)は GetGlobalAddressList( ) で取得できるし内容も入っているんだが取得したリストの GetContactsFolder( ) を呼び出しても Nothing しか返ってこない
何か設定が要るのか根本的に頓珍漢なのかさっぱりわからん

674:デフォルトの名無しさん
17/08/02 19:58:09.08 Yub86NHXr.net
ここでも聞いてみれば?

つ【VBAなんでも質問スレ Part2】
スレリンク(tech板)

675:620
17/08/03 06:23:52.11 y8hiM9O7a.net
>>662
ありがとうございます!勉強になります。

> グローバルアドレス帳(Global Address List)は GetGlobalAddressList( ) で取得できるし内容も入っているんだが

↑その内容というのは、debug.printで見ることはできますでしょうか??

676:デフォルトの名無しさん
17/08/03 07:51:33.57 T58VKPgl0.net
>>664
foo = bar.GetGlobalAddressList( )
をどこかに入れてfooをウォッチ式で見る

677:デフォルトの名無しさん
17/08/03 08:16:18.57 8PSWLe0hM.net
>>664
Set GlobalAddressList = Namespace.GlobalAddressList( )
Debug.Print GlobalAddressList.AddressEntries.Item(1).Name
とかすれば見れるよ
全件エクスポートするサンプルとかあるので見てみて
URLリンク(www.slipstick.com)

678:デフォルトの名無しさん
17/08/04 13:47:28.51 2SBD/wKoM.net
バージョンが上がって日付時刻型の除算ができなくなりました。バリアント型にしても空になります。
対応方法はありませんでしょうか?
また、こういう仕様変更はどこで確認できますか?

679:デフォルトの名無しさん
17/08/04 19:09:28.11 HbiPV4wFd.net
>>667
Dateの除算てなんのためにやるんだっけ?
CLngとかしてからじゃダメなの?

680:デフォルトの名無しさん
17/08/04 19:49:21.85 EaU+sIDF0.net
日付じゃなくて時刻(時間)で除算したいのでは?
1950/1/1を2で割って1925/1/1…なんてことはしないだろう

>>667
office 更新プログラム等で検索
URLリンク(support.office.com)

681:デフォルトの名無しさん
17/08/04 20:11:22.22 CfFJ59fY0.net
時刻ですね

682:デフォルトの名無しさん
17/08/05 08:53:42.25 3n3qQbM6r.net
>>667
エラーの出たコードを書いてみて。
あとバージョンも。2016?

683:デフォルトの名無しさん
17/08/05 09:48:36.05 7J5Re5fS0.net
2010でも時刻の割り算できたけど?

684:デフォルトの名無しさん
17/08/05 10:09:48.61 3n3qQbM6r.net
じゃあ、この話題はこれで終わりだな。

685:デフォルトの名無しさん
17/08/05 11:28:42.39 J2w+rLAY0.net
エラーコードは51
データ型が日付時刻の除算はエラーでる

686:デフォルトの名無しさん
17/08/05 12:58:50.71 kXEyZiX90.net
Sub foo()
bar = Date / 2
Debug.Print bar
End Sub

2010、win7だけどエラーでない

687:デフォルトの名無しさん
17/08/05 13:00:51.75 J2w+rLAY0.net
>>675
時刻同士で割って見て

688:デフォルトの名無しさん
17/08/05 13:07:29.37 j7okUzoP0.net
ダブルにキャストしてから計算したら
ずれるのかな?

689:デフォルトの名無しさん
17/08/05 13:08:47.84 kXEyZiX90.net
>>676
Sub foo()
bar = Date / Date
Debug.Print bar
End Sub

普通に1になったけど

690:デフォルトの名無しさん
17/08/05 13:35:11.02 1ncAb1Zc0.net
URLリンク(www.youtube.com)

691:デフォルトの名無しさん
17/08/05 16:53:51.52 3n3qQbM6r.net
質問者からのエラーコードの提示がないので無駄な回答だな。

692:デフォルトの名無しさん
17/08/05 18:06:14.68 fC/MwjWZ0.net
時刻を時刻で割る意義は? どんな分野で必要と成るんだ? それは知りたい

693:デフォルトの名無しさん
17/08/05 18:54:05.96 UH683s5QM.net
バージョンが上がって…
とか言いながらバージョンを書かない馬鹿
指摘されても書かないという

694:デフォルトの名無しさん
17/08/05 18:58:41.09 NpEI7ikB0.net
>>681
8時間の就業時間の間に25分掛かる作業を何回できるか見積るとか

695:デフォルトの名無しさん
17/08/05 19:00:17.07 90gBDUFU0.net
しょうもない質問はほっとけばいいんじゃ?
それとも答えたくてウズウズしてる感じ?

696:デフォルトの名無しさん
17/08/05 19:45:20.37 ze59kfDf0.net
>>683
無理くり理由をこじつけてもその程度だよな…ほんと何がしたいんだろうな

697:デフォルトの名無しさん
17/08/05 20:31:20.41 2UigV3EYM.net
質問するのにバージョンも書かない
ID変わってるのに名無しのまま
環境書けと言ってるのに無視
こんな処理する理由は?と聞かれても無視


こんな人間の生産物を現場で使う恐怖

698:デフォルトの名無しさん
17/08/05 20:47:12.34 fC/MwjWZ0.net
それは時刻で無くて時間だろ と

699:デフォルトの名無しさん
17/08/05 23:20:40.34 3n3qQbM6r.net
>>686
何のためにここで質問したのかわからないよね。

つか、俺たちが釣られただけ?

700:デフォルトの名無しさん
17/08/05 23:56:01.89 dqSa99my0.net
質問者が軌道修正のために必要な情報を提供しないってのはここではザラにあることだろ。
そんなのによく付き合ってられんなー

701:デフォルトの名無しさん
17/08/06 00:12:38.56 7dbJmn2Z0.net
質問室じゃねえんだよ

702:デフォルトの名無しさん
17/08/06 12:22:25.32 hXGNAkd3r.net
また教えたがりの無能が暴れとるのかw

703:デフォルトの名無しさん
17/08/06 16:09:44.69 wM27hiyIa.net
暴れているのはただの煽り

704:デフォルトの名無しさん
17/08/07 16:41:33.18 /LwpuoG3M.net
>>678
dim a as date
dim b as date
dim test as date

a = time
b = time
test = a / b

でエラー出た

705:デフォルトの名無しさん
17/08/07 16:59:56.15 PHW4jpUx0.net
>>693
地域オプションで先頭が数字以外になるような書式だったとか?

706:デフォルトの名無しさん
17/08/07 19:35:32.88 9LTblBy60.net
>>693
環境書けよ
なんでエラー出たとか言うやつは環境書かないの
VBAの日付型は原則数値として扱えるはずので
日付型である事が原因でエラーが出るとは考えにくいけどなぁ
ちなみにエラー51のヘルプ(2007)には
>このエラーが Error ステートメントまたは Raise メソッドで生成されたものでなければ、Microsoft 製品テクニカル サポートに連絡して、メッセージが表示されたときの状況を知らせてください
ってあるから、ホントにエラー51出たならEXCELのバグの可能性もないではないな

707:デフォルトの名無しさん
17/08/07 20:09:27.70 PGc1T+jA0.net
excel2010 win7
エラーが起こるのは除算の分母側がdateだった時
longにキャストするか、variantで宣言していれば問題ない(もちろん宣言してない場合も問題ない)
バグくさい挙動だなぁ
Sub foo2()
Dim a As Time
Dim b As Time
Dim test As Date
a = Time
b = Time
test_long = (a * 1) / (b * 1) 'ok
test = a / (b * 1) 'ok
test = 1 / b 'error
test = (a * 1) / b 'error
test = a / b 'error
End Sub
Sub foo()
Dim a As Variant
Dim b As Variant
Dim test As Date
a = Time
b = Time
test = a / b 'ok
End Sub

708:デフォルトの名無しさん
17/08/07 20:36:42.78 5JtEoMJq0.net
Cdbl()で分母をDoubleにキャストすればいいだけじゃね?

709:デフォルトの名無しさん
17/08/07 20:39:22.17 PGc1T+jA0.net
>>697
まぁ解決法としてはそれでも何でもいいし、そもそもdateで除算って事をやらないんだけど
根本的な原因が分からないと、変なとこで悪影響受けそう

710:デフォルトの名無しさん
17/08/07 20:54:07.86 5JtEoMJq0.net
Time って
DateTime.Time プロパティのことだよな
Property Time As Variant
だからもともとVariant型
dim a As Time がエラーになるんだが

711:デフォルトの名無しさん
17/08/07 21:05:47.61 5JtEoMJq0.net
Date型はVBAのデータ型で"21:02:32"みたいな文字列なんじゃね?
だから計算するとエラーになる
分子にDate型を持ってきたときはDoubleに自動的にキャストされてると予想

712:デフォルトの名無しさん
17/08/07 21:13:12.34 PGc1T+jA0.net
>>699
ごめんなさい訂正前の送ってしまいました
定義部分は以下に変えてください
Sub foo2()
Dim a As date
Dim b As date

713:デフォルトの名無しさん
17/08/07 23:25:10.55 kmFs6vPH0.net
>>695
2007じゃエラーでないよ

714:デフォルトの名無しさん
17/08/07 23:33:20.74 elxVZ6u90.net
データベースのDATETIME型の値がそのままVBAのDate型変数にマップできれば楽なのに、
1900年以前だとうまくいかないのが残念だ。

715:デフォルトの名無しさん
17/08/07 23:39:54.26 5JtEoMJq0.net
>>702
2010とかだとエラーになる
分母にDate型を持ってくるときは
明示的にCdblでキャストすればエラーにならなくできる
MS側にバグレポートしたところで修正するかどうかはMS側次第
仕様変更したと言うかもしれない

716:デフォルトの名無しさん
17/08/07 23:59:58.12 HViBOnBI0.net
そろそろ日付時刻での除算の意味を教えて

717:デフォルトの名無しさん
17/08/08 00:39:23.26 sJaKEDtc0.net
>>705
>>683
全くない需要ってわけでもないと思う

718:デフォルトの名無しさん
17/08/08 00:57:18.12 ZuuTozCK0.net
キャストしてできるんならなんの問題もないだろう
キャストできない理由があるんじゃないのか?
まさか発想になかったわけじゃないだろうし

719:デフォルトの名無しさん
17/08/08 05:17:42.76 ttZKdV6P0.net
つーか質問者本人どこいったんじゃ

720:デフォルトの名無しさん
17/08/08 07:26:59.16 qEy0EStIr.net
>>693
つか、dateをdateで割った答えがdateっておかしくね?
たとえば、60分を15分で割ったら答えは「4分」ではないよね。
なので、
Dim test as Long
とすべき。

721:デフォルトの名無しさん
17/08/08 07:52:46.37 4vV+Ffiu0.net
>>709
そこはエラーとは関係ない
debug.print a/b
でもエラーになる
意味的に間違いでも形式的文法的には正しい

722:デフォルトの名無しさん
17/08/08 07:57:39.53 sJaKEDtc0.net
これエラーにならん
Debug.Print 1 / Time
これはエラー
foo = time
Debug.Print 1 / foo
意味わかんねぇmsに聞くか

723:デフォルトの名無しさん
17/08/08 08:15:13.81 qEy0EStIr.net
>>711
型が関係してるとしか思えないんだけど…

724:デフォルトの名無しさん
17/08/08 08:17:59.56 7r69+AsTM.net
>>706
>>683は 時間÷時間 の話で 時刻÷時刻 じゃないだろ
時間を演算するならシリアル値に変換して演算すればいいだけ
日付時刻に対する加減算以外の演算なんて意味ない

725:デフォルトの名無しさん
17/08/08 08:18:45.83 T3VkQlydp.net
>>711
TimeはDaterime.timeでvariantだからエラーにならないのはわかる
fooもvariant?それともDate型?

726:デフォルトの名無しさん
17/08/08 08:21:04.55 T3VkQlydp.net
>>713
時刻を基準日時刻からの時間以外で定義できるんだっけ?

727:デフォルトの名無しさん
17/08/08 08:24:56.85 sJaKEDtc0.net
>>713
>日付時刻に対する加減算以外の演算なんて意味ない
除算も乗算も意味あるんだが、一体何を言ってるんだ

728:デフォルトの名無しさん
17/08/08 08:24:58.32 Czpew14v0.net
今のとこ試した範囲では、2010で割る方の方がDate型だとエラー51だすな
バリアントだとVarType 7(vbDate)でも平気
どうにもバグくさい。だれかインシデント余ってるやつMSに聞いてくれ
>>711
だからエラーになるやつは環境かけよ
Win7 2010ではそれだけではエラーにならんぞ
どっかでfooをDateで宣言してんじゃねえのか

729:デフォルトの名無しさん
17/08/08 08:31:46.30 Czpew14v0.net
>>713
VBAでは時間と時刻の型は区別されてないから、その議論に意味があるかは微妙だな
Date型を時刻ととらえるか基準時点からの時間ととらえるかの問題だろ
>>716
時間と時刻の違いわかってる?
一般的な会話での時間って言葉はほとんどが本来だと時刻の間違いだぞ
時刻の除算にどんな意味があるんだ?

730:デフォルトの名無しさん
17/08/08 12:35:05.88 l31z4HMeM.net
除算は1900/1/1からの経過日数の比
って認識で良いのかな

731:デフォルトの名無しさん
17/08/08 17:34:44.63 o2sPvDRf0.net
>時間の就業時間の間に25分掛かる作業を何回できるか見積るとか
(終了時間ー開始時間)を分単位に直して25で割るってことじゃないですか。
これは10000円を100円単位に分けたらいくつになる?ってのと同じ数量の問題だよね?
時刻の除算ってのは例えば
A = "2017/04/11 16:54:00"
B = "2017/08/15 10:45:48"
で A / B (Aは日付型でなくてもいいんだろうけど)ということでしょ?
これにどんな意味があるのよ

732:デフォルトの名無しさん
17/08/08 18:14:01.43 Plhneb/rd.net
単純な操作のはずなのによくわからん
0. .xlmxファイルを(パス:\A)に作成しておく
1. フォルダ(パス:\B)内のすべてのCSVファイル(データは1列のみ)を、先ほど作成したファイルのSheet1の2列目から順次マージする
データを繋げるところで詰まるので助けてください

733:デフォルトの名無しさん
17/08/08 18:15:20.46 7r69+AsTM.net
>>715
日時が先か時間が先かは知らんが今の議論には関係ないと思う
>>716
どういう意味があるのか書いてからほざきない
>>718
言語で区別してないから使う人が意識しなきゃねって話

734:デフォルトの名無しさん
17/08/08 19:18:53.44 4vV+Ffiu0.net
>>722
Date型で割るとエラーになると言う点と
あとどうでもいいんだが時刻で割ると言う点の
2つの論点が並行している
Dateで割る時はdoubleにキャストすればいいだけ

735:デフォルトの名無しさん
17/08/08 19:20:53.27 4vV+Ffiu0.net
>>720
Bを1とした時にAを数値で表した値
どんな価値があるかはその時によるが
全く価値がないとも言い切れない

736:デフォルトの名無しさん
17/08/08 19:33:26.34 qEy0EStIr.net
>>721
君が書いたコードのどこが拙いのか検討しようぜ。
まずはコード書いて。

737:デフォルトの名無しさん
17/08/08 19:36:48.60 bHuYQqMY0.net
Excel総合に間違って投下してしまったので、こちらに再投稿します。
以下のマクロをボタンに登録し、印刷範囲をhtmで保存しようとしています。
しかし、このブックを一度上書き保存等しないと正常に動作しません。
見よう見まねでこうなったコードなのですが、どうすれば良いでしょうか?
アドバイスお願いします。
Sub SAVE()
'
' SAVE Macro
'
'
With ActiveWorkbook.PublishObjects.Add(xlSourcePrintArea, _
Range("AT1").Value & ".htm", "Sheet1", "", xlHtmlStatic _
, "", "")
.Publish (True)
.AutoRepublish = False
End With
ChDir "C:\Users\admin\Desktop"
End Sub

738:デフォルトの名無しさん
17/08/08 21:36:34.68 JRNVbyEr0.net
複数ステップのOLE DBの操作でエラーが発生しましたとか言われて、
adOpenKeyset, adLockOptimisticで対策したら、
今度はUpdateで怒られるんですが、どうにかなりまんせん?

739:デフォルトの名無しさん
17/08/08 21:50:18.55 4vV+Ffiu0.net
>>727
エラーとカーソルタイプやロックタイプは関係あるの?

740:デフォルトの名無しさん
17/08/08 22:02:37.25 JRNVbyEr0.net
>>728
わからないんですが、
他にも、adUseServerでエラーになるので、
adUseClientに直すと、違うエラーが出たり、
何かを直すと違うエラーが出る、もぐら叩き状態です。

741:デフォルトの名無しさん
17/08/08 22:06:10.50 4vV+Ffiu0.net
sqlのエラーならそこらへんは関係ないんじゃないの?
なんのエラーか知らんけど

742:デフォルトの名無しさん
17/08/08 22:12:27.27 wQlpajLt0.net
DB操作はClose通らない処理を挟んでしまって二重にOpenするとかで苦労した事があるなぁ。
それが原因ならクラス作ってデストラクタにClose書いておけば忘れなくて便利。

743:デフォルトの名無しさん
17/08/08 23:58:40.83 cql1o/lA0.net
>>723
> Date型で割るとエラーになると言う点と
俺はそんなことは問題にしてない
意味のない演算ができてしまう言語なんて珍しくないし
> あとどうでもいいんだが時刻で割ると言う点の
どうでもいいなら放置しておけば?

744:デフォルトの名無しさん
17/08/09 09:22:17.50 Qcpwsibl0.net
>>726
保存先をパス付きで指定したらどうかな
chdirは自分のパスだろうし

745:デフォルトの名無しさん
17/08/09 10:44:54.73 F6AoeH710.net
>>727
こいつもそうだけど、ソースも示さずエラーが出ると言ってどんなエラーかも示さず

アホか
大方SQL単体でも失敗してんだろ

746:デフォルトの名無しさん
17/08/09 13:14:09.12 b9k/R7FPM.net
Sexel-VBA

747:デフォルトの名無しさん
17/08/09 13:28:47.67 MinGKowar.net
>>734
たぶん、『解答』が欲しいのではなく、『レス』が欲しいんだろうね。
つまり、雑談したいだけなんじゃね?

748:デフォルトの名無しさん
17/08/09 13:56:39.55 LTZc9U500.net
>>733
ありがとうございます。帰宅後、やってみます。

749:デフォルトの名無しさん
17/08/09 18:28:18.83 b9k/R7FPM.net
>>737
いいってことよ(´・ω・`)b

750:デフォルトの名無しさん
17/08/10 22:43:19.50 JdKfuZ5y0.net
>>734
一般的でなく、同じ目にあった経験者しか答えを知らなそうな内容なので・・。
ググって出てきた例が全滅なので、
多分、AccessではなくExcelでやってるのが原因だとは思うのですが。

751:デフォルトの名無しさん
17/08/10 23:14:30.24 JdKfuZ5y0.net
ちなみに、EOFがtrueじゃありませんとか、
IZAMが有効じゃありませんとか、
そんなやつです。

752:デフォルトの名無しさん
17/08/10 23:22:56.42 VgLhJXRi0.net
>EOFがtrueじゃありません
俺もmysqlにアクセスするのを作ってる段階でそういうのを出すことはあるよ。けど、そういうのここで
チンタラチンタラ言っててもソースがない以上こちら側ではどうしようもないわけで。

753:デフォルトの名無しさん
17/08/10 23:45:49.59 SqJ4/4zg0.net
>>740
もしかしてEXCELで直接開いてるのにAccessと同じ文法のSQL使ってない?
ワイルドカードとか色々と違う点があるんで、もしかしたらSQLが失敗して空のレコード開いてるのかも。

754:デフォルトの名無しさん
17/08/11 04:12:54.28 +mgolt3u0.net
そもそも何のDB(ドライバ)かすら書いてないし
どうやってレコードセット開いてupdateしたのか書いてないし
レスするだけ無駄な気がするぜ
>EOFがtrueじゃありません
そんなエラー見たことないな。EOFがFalseなら普通にデータ取れてるってことじゃねえの?
EOFがTrue前提の操作が浮かばんが、何しようとしたらそんなエラーになるんだよ
>IZAMが有効じゃありません
IZAMって何さ?ビジュアル系バンドメンバーかよ

755:デフォルトの名無しさん
17/08/11 07:44:16.53 xHfWhpghr.net
>>743
> レスするだけ無駄な気がするぜ
いいんだよ、それで。雑談が目的なんだから。
答えを出す必要はない。

>> EOFがtrueじゃありません
> そんなエラー見たことないな。
ADOでレコードセットを操作していると、ときたま現れるエラー。
クエリ結果にレコードが1件もない場合とかに出たりする。

756:デフォルトの名無しさん
17/08/11 11:24:22.86 dnJD889I0.net
初心者ですがご教授下さい
クラス内にTRが9ありそのうちの1~4を取得したいと思っています。
現在は1しか取得できません。どう書き換えればいいでしょうか?
Sub shisaku()
Dim objIE As InternetExplorer
Set objIE = CreateObject("Internetexplorer.Application") '
objIE.Visible = True '
objIE.navigate "URLリンク(www.aaa)
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
Dim colTR, colTH, colTD, colImg As IHTMLElementCollection
Set colTR = htmlDoc.getElementsByClassName("first")
Dim el As IHTMLElement
For Each el In colTR
Set colTH = el.getElementsByTagName("th")
Set colTD = el.getElementsByTagName("td")
Debug.Print colTR(0).innerText
Next el
End Sub

757:デフォルトの名無しさん
17/08/11 11:47:54.41 H2cGDcz1a.net
>>745
なんでcolTRをclassnameで取得してんの?

758:デフォルトの名無しさん
17/08/11 11:50:59.38 H2cGDcz1a.net
あと並べて書いた場合でも変数一つずつ型指定してかないとvariantになるよ、vbaの場合

759:デフォルトの名無しさん
17/08/11 13:07:34.65 11Y29+uU0.net
吉岡美穂のカキタレ

760:デフォルトの名無しさん
17/08/11 13:38:42.84 dnJD889I0.net
>>747
vbaでieを操作を読んでもググってもあり理解出来なくてとりあえず作りながら覚えようと
コピペしたものを一部変えました
tr、tdは特定出来ずclassが特定出来るのですがどのように書き換えればよろしいのでしょうか?

761:デフォルトの名無しさん
17/08/11 13:56:55.44 kj6/PAcR0.net
>>749
処理対象によってどうすればいいか変わるから
対象が判らないとなんとも言えないのではないと思う
クラスで全部のTRを取れてるのかも判らないし

762:デフォルトの名無しさん
17/08/11 14:32:36.47 yOhrxWpUa.net
>>749
trがほしいならgetElementsByTagName("TR")で取るのが普通じゃね
その後のfor eachの中の処理もよくわからんが

763:デフォルトの名無しさん
17/08/11 14:42:02.39 hvV/hgBn0.net
例えば下のように文字と数字が並んでいて、文字を数字の横に持って行くにはどうしたらいいですか?
12
q
15
b
10
c

12 q
15 b
10 c

764:デフォルトの名無しさん
17/08/11 14:45:37.73


765: ID:fD8DkUIg0.net



766:デフォルトの名無しさん
17/08/11 14:51:25.70 fD8DkUIg0.net
>>752
必ず数字と英語が入れ替わりで来るなら以下のマクロ
Sub foo()
For i = 1 To 100
行 = Int(i / 2)
If i Mod 2 = 1 Then
Cells(行 + 1, 2) = Cells(i, 1)
Else
Cells(行, 3) = Cells(i, 1)
End If
Next
End Sub

767:デフォルトの名無しさん
17/08/11 15:01:16.16 hvV/hgBn0.net
>>754
ありがとうございます。
でもすみません、2連続で文字のパターンもあります
正確には下のような感じです

q
r

d

c

○ qr(セル内改行)
○ b
○ c

768:デフォルトの名無しさん
17/08/11 15:12:27.50 kj6/PAcR0.net
>>755
まず数字か文字列か判別すればいいんじゃね?
if a like "[0-9]*" then
って感じでできる様なきがする

769:デフォルトの名無しさん
17/08/11 15:23:36.72 hvV/hgBn0.net
>>756
今考えてるのは以下の感じです
VBAもプログラミ�


770:塔Oも初心者のため全然コードがわかってなくてすみません loop (i) if instr(cell(i,1),"○")<>0 sw=1 if sw=1 sw =1の時それより下のセルの情報を切り取り  loop(n)  n=i+1  if instr(cell(n,1),"○")<>0  sw=0  else n=n+1  loop end else i=i+1 loop end



771:デフォルトの名無しさん
17/08/11 15:32:45.42 fD8DkUIg0.net
>>755
こう
Sub foo()
行 = 1
'一行目は数字
Cells(行, 2) = Cells(1, 1)
tmp = Cells(1, 1)
For i = 2 To 100
If IsNumeric(Cells(i, 1)) Then
'数字
Cells(行, 2) = tmp
Cells(行, 3) = 文字
行 = 行 + 1
tmp = Cells(i, 1)
文字 = ""
Else
'文字
文字 = 文字 & vbCrLf & Cells(i, 1)
End If
Next
End Sub

772:デフォルトの名無しさん
17/08/11 15:33:16.05 fD8DkUIg0.net
>>756
なんでlikeなんだよ
isnumericでいいだろw

773:デフォルトの名無しさん
17/08/11 15:48:56.25 kj6/PAcR0.net
>>759
数字を含む文字列をどっちに判別するかによるんじゃね

774:デフォルトの名無しさん
17/08/11 16:02:01.36 yOhrxWpUa.net
>>749
追記でおせっかいついでに、ie操作覚えたいなら軽くhtml勉強したほうがいいよ
エクセルのオブジェクト理解せずにvbaで扱うなんて無理なのと一緒

775:デフォルトの名無しさん
17/08/11 16:32:57.50 FWZL6nYt0.net
Ruby で書いた
URLリンク(paiza.io)
ary = []
File.open("File1") do |file|
# 1行ずつ処理する
file.each_line do |line|
# 0~9
if /^\d+$/ =~ line.chomp!
ary << line + ' '
else
ary[-1] = ary[-1] + line
end
end
end
puts ary
入力
01
a
b
12
c
23
出力
01 ab
12 c
23
ただし、23 の後ろに、半角空白が入っているけど

776:デフォルトの名無しさん
17/08/11 20:25:45.30 Nl+bIgs10.net
>>742
普通にCopyFromRecordsetするだけなら出来るんです。
Do Until rs.EOF
 rs!項目=何とか ←ここで何かしようとすると、Debug.Print以外は全て失敗します。
 rs.MoveNext
Loop
諦めて、GetRowsして編集してから出力しようとしたら、
縦横入れ替わってるし(Excelで使うのに何故こんな仕様にした?)、
Transposeで直そうと思っても型が違いますとか言われるし・・。
>>743
I-zamはサポートしてませんだったかも?

777:デフォルトの名無しさん
17/08/11 20:45:51.85 2aci5jkj0.net
>>763
>rs!項目=何とか ←ここで何かしようとすると、
rs.項目に何か代入しようとしてんのか?

778:デフォルトの名無しさん
17/08/11 20:48:59.91 +mgolt3u0.net
>>744
>クエリ結果にレコードが1件もない場合とかに出たりする。
それ普通はEOFがTrueになるはずだけど
MySQLのドライバでそうならなかったりするのか?ドライバのバグじゃねえの?
それどうやってゼロ件かどうか判定するんだ?

779:デフォルトの名無しさん
17/08/11 21:03:31.05 +mgolt3u0.net
>>763
だからDBとドライバ何で、どうやってそのレコードセット作ってるんだよ
そもそもレコードセットを更新する必要があるのかどうかも疑問だけどな
レコードセットは常に更新できるとは限らんのだぞ

780:デフォルトの名無しさん
17/08/11 21:18:12.65 Nl+bIgs10.net
>>764
そうです。
SQL上だと難しい内容があるので、後から入れようかなと。
>>766
CsvとMicrosoft.Ace.OLEDB.12.0です。
元のCsvの方は、多分更新出来ないだろうとは思ってたのですが、
出力結果の方に、編集した内容が反映されればいいかなと。

781:デフォルトの名無しさん
17/08/11 21:29:48.64 2aci5jkj0.net
>>767
CursorTypeがどうなっているのかとかいちいちこちらから聞かないと情報を出さないのか?
で、延々と続ける気?

782:デフォルトの名無しさん
17/08/11 22:03:13.38 kj6/PAcR0.net
>>764
rsに代入できるんだっけ?
debug.print出来るならrsから読み込むのは出来るんじゃね?
別変数にコピーしてから変更したら?

783:デフォルトの名無しさん
17/08/11 22:06:37.63 mfxycmdp0.net
Excel(VBA)でデータベース接続ってどういうのが一般的なんでしょうか?
自分は専ら生ODBCを叩いているので他人のことが気になってる。

784:デフォルトの名無しさん
17/08/11 22:11:37.85 kj6/PAcR0.net
>>770
そんなの統計とかアンケートとかとってる人いないんじゃないかな
実現したいことができればいいんじゃね

785:デフォルトの名無しさん
17/08/11 22:15:41.96 fD8DkUIg0.net
そもそもexcelでデータベースに接続しないな
全部accessで済ませてしまう

786:デフォルトの名無しさん
17/08/11 22:36:29.71 mfxycmdp0.net
>>772
VBAとODBCドライバしか使わないのでExcel, Outlook, Word, Access その他 Officeなら何でもOKにはしてる。
ExcelとOutlookくらいしか使わないけどね。
Outlookはメールで「このテーブルをこう読んだときに~」とか連絡を受けたときにそのままVBEを開いて使ったりとか。

787:デフォルトの名無しさん
17/08/11 23:12:57.71 Nl+bIgs10.net
>>768
それは最初に、読み取り専用じゃないやつに変えたけどダメだったと書きましたけど。
>>770
ググって引っかかる率が高いのはADO。
外部データ取り込みの方なら、参照設定もいらないのに、どういうわけかADOばっか。
ADOばっか出るから、ADOに乗り換えてみたら、このザマですよ。

788:デフォルトの名無しさん
17/08/11 23:35:39.96 mfxycmdp0.net
>>774
乗り換えた、って何から?

789:デフォルトの名無しさん
17/08/12 00:49:01.81 RTe2mUwF0.net
>>775
外部データ取り込み(Microsoft Query)からです。
シートの指定が、なぜか[シート名$]じゃなくて`シート名$`とか、
データの出力開始列にコマンドボタンを配置すると、ボタンを押した瞬間、
ボタンが横に逃げるとか(離すと元の位置に戻ってくる)、
意味不明な軽い嫌がらせがありますけど。

790:デフォルトの名無しさん
17/08/12 10:58:36.59 AoA5DjYT0.net
ヘルプ見ると日付型の説明として以下のように書いてあるじゃん。
 日付型 (Date) の変数は、IEEE 64 ビット (8 バイト) の浮動小数点数の変数です。
 西暦 100 年 1 月 1 日~西暦 9999 年 12 月 31 日の範囲の日付と、0:00:00 ~ 23:59:59 の
 範囲の時刻を表すことができます。
でも1900年以前のDate型変数をワークシートに貼ろうと思ってもできなくて、
 実行時エラー'1004':
 アプリケーション定義またはオブジェクト定義のエラーです。
ってエラーが出てくるじゃん。これ控えめにいtt

791:デフォルトの名無しさん
17/08/12 11:02:43.67 q63a26xE0.net
mysqlとodbc経由で接続している。以前はSQLServerとでもやってた。他にもポスグレやoracleとやってる人間も沢山居るだろ。
んでそんな文句言ってるのはお前だけ。
お前のソースがバグだらけなんだよ。けどソースは示さないんだろ?一人勝手にやってろ

792:デフォルトの名無しさん
17/08/12 11:56:57.58 TCrjrl3y0.net
>>725
ごめんできちゃった
ありがとね

793:デフォルトの名無しさん
17/08/12 12:46:19.08 IpuKNNKZr.net
>>755
  Dim lastRow As Long
  Dim i As Long
  Dim arry
  Dim str
  
  lastRow = Cells(Rows.Count, 1).End(xlUp).Row
  arry = Range("A1:A" & lastRow).Value
  i = 1
  Do Until i = UBound(arry)
    If IsNumeric(arry(i, 1)) And arry(i, 1) <> "" Then
      str = str & arry(i, 1)
      Do Until IsNumeric(arry(i + 1, 1))
        str = str & arry(i + 1, 1)
        i = i + 1
        If i = UBound(arry) Then Exit Do
      Loop
      str = str & vbCrLf
    Else
      i = i + 1
    End If
  Loop
  Range("B1").Value = str

794:デフォルトの名無しさん
17/08/12 13:38:05.91 IpuKNNKZr.net
>>779
満足してもらえたようで良かったです。

795:デフォルトの名無しさん
17/08/12 15:49:33.01 s2RcRfJ50.net
>>.777.
それはVBAの問題じゃない
EXCELで扱える日付範囲がVBAより狭いだけ

796:デフォルトの名無しさん
17/08/13 10:20:51.63 YIp/txnN0.net
VABでIEを開いて、
情報を取ってるんですが、
ie.Visible = False
で、
画面でないようにしてるけど、
これは、どこか裏で開いてる?
それとも、消えてくれるのかな、
Falseで画面出さない時は、
IE閉じる処理はしなくてもいいでしょうか?

797:デフォルトの名無しさん
17/08/13 10:33:34.50 ua4YvzFl0.net
よくわからんけど、WBEクエリってので、
画面出さずに取れませんか。

798:デフォルトの名無しさん
17/08/13 10:35:11.41 YIp/txnN0.net
>>784
クエリでも獲れるけど、
VBAも使いたいので、
なにか閉じる処理とかいるのかなぁ

799:デフォルトの名無しさん
17/08/13 10:45:28.39 B6edc+jF0.net
>>784
表の中の項目だったら<td>のinnerTextを取ればいいし、リンクだったら<A>のhrefを取ればいい。
ググればなんとかなるさ。

800:デフォルトの名無しさん
17/08/13 11:53:36.55 TIsdzDXzr.net
>>783
タスクマネージャのプロセスにieが残ってるはず。
たとえバックグラウンドであっても、開いたら閉じるが原則。
ie.Quitの1行は必須です。

801:デフォルトの名無しさん
17/08/13 12:24:29.35 B6edc+jF0.net
>>784
ごめんWebクエリってExcelの機能があったのか。
>>786ではCreateObject("MSXML2.XMLHTTP")とCreateObject("htmlfile")を使う方法を答えてしまった。

802:デフォルトの名無しさん
17/08/13 12:33:27.11 YIp/txnN0.net
>>787
そうですか、
閉じるようにします、
ありがとうございます!
>>788
俺も、
htmlのタグとか、でieから情報とってる。

803:デフォルトの名無しさん
17/08/16 19:34:35.81 jf8MYepF0.net
>>745です
childrenで情報は取得できそうです(イミディエイト上確認できています)
エクセルのA列に入力のURL100をA2から順に自動で情報取得、B列、C列、D列に取得した情報を出力したいのですがどのようにすればいいでしょうか?
おそらくは下記部分の書き換えかと思われますがご教授下さい
objIE.navigate "URLリンク(www.aaa.jp)
Debug.Print colTD(2).innerText & "|" & colTD(3).innerText & "|" & colTD(4).innerText

804:デフォルトの名無しさん
17/08/16 21:36:07.94 DoB/Yq6sa.net
>>790
昔作った簡易ツールなんだけどさ、これで指定のURLのページのDOM情報を全部ごっそり取れるから試して見たら。
標準モジュールに張り付けて保存して閉じた後で再度開くとアドインリボンにボタンが2つ出来る。
URLリンク(pastebin.com)

805:デフォルトの名無しさん
17/08/16 22:17:10.08 DoB/Yq6sa.net
一点忘れてた。
このツール、取ってくるページが重いと時間がかかる。
あんまり遅いときはBreakしてくれ。

806:デフォルトの名無しさん
17/08/16 22:19:22.62 6PDnHTyR0.net
CreateObject("InternetExplorer.Application")
なんてしたくないからMSXML2.XMLHTTPとか使うんじゃないのか?

807:デフォルトの名無しさん
17/08/16 22:53:28.23 DoB/Yq6sa.net
>>793
DOM情報は一緒に使える。
情報を得るだけならMSXML2.XMLHTTPの方が良い。
俺のツールは10年以上前に作ったから、その頃はMSXML2.XMLHTTPを知らんかった。

808:デフォルトの名無しさん
17/08/17 06:21:37.08 5/l7qEpXr.net
>>791
タイプミスが1個あったよ。
181行目:objndode
おそらく、objNodeと思われ...

809:デフォルトの名無しさん
17/08/17 08:34:41.30 CrDCSFke0.net
お前の過去とか知らんし、判ってる事なら修正版を出してはくれまいか

810:デフォルトの名無しさん
17/08/17 17:22:04.13 im50xVqsa.net
>>795
おお、確かに。
>>796
必要なら自分で修正しなよ。
使えるから長いこと使ってるけど簡易ツールだし、マウス下のDOM情報を取って来るツールとかを使う場合も多い。
バグだらけだから公開はしないけど。

811:デフォルトの名無しさん
17/08/17 18:27:33.83 IrM4WgJo0.net
>>797
ありがとうございます。でもごっそりは重そうなので出来れば自作できればと。
ググるとこれが良さそうですが
Range("A1").Hyperlinks(1).Follow NewWindow:=True
例えばexcelシートにB2~B101までurlの記載があり選択してctrl+sみたいな感じで自動実行
これを書き換えるにはどうすればいいでしょうか?
Set DataSheer = ActiveSheet
Dim i As Long, cnt As Long
For i = 1 To 100
cnt = cnt + 1
Cells(cnt, 1) = i
適当に拾ってきた物を書いてみましたアドバイスをお願いします
>>793
MSXML2.XMLHTTP の利用について教えて下さい。
1日500URLを寝る前に取得したいので出来れば動作は早い方がいいです。
ieを開かずにデータを取得できるんですよね
>>745
Set objIE = CreateObject("Internetexplorer.Application")
objIE.Visible = True
を変更でいけますか?
Set objIE = CreateObject("MSXML2.XMLHTTP")
objIE.Visible = False

812:デフォルトの名無しさん
17/08/17 21:06:10.14 wc7ZtjOc0.net
>>798
このへん読めばいいんじゃないの?
URLリンク(www.kanaya440.com)

813:デフォルトの名無しさん
17/08/17 23:13:12.34 yWP51BMra.net
>>798
そうじゃなくて、そのツールでとってこれるのは指定のURLのページがどういう構造になっているかという情報。
それが分かれば自分で組めるでしょという話。
500個のURLのページがみんな同じ構造なら取りあえず1つだけ構造を調べれば他は同じように組めるでしょ。
例えば君は9個のTRの内、1~4を取りたいけど1だけしか成功して無いんだろ。
なぜ2~4が取れないかを調べるのに使う。
取りたいデータに名前やクラス名がついてたらそれで取ってきた配列を使うし、無ければタグ名で取って来る。
タグ名ならその右にある番号から何個飛ばしで取れば良いとかを類推する。
MSXML2.XMLHTTPやMSHTML.HTMLDocumentは単純にInternetExplorer.Applicationを置き換えて使えるわけじゃない。
ソースを取ってきてそれをDOMDocumentに当て嵌めれば似たように使えるけど。
ところで、1日に500個のURLから情報取ってきて問題無いんだろうね。
岡崎図書館の例にもある通り、不正アクセスとして捕まるのを避けるために先方には確認してる?

814:デフォルトの名無しさん
17/08/17 23:29:45.34 Fn2cTqwk0.net
ふだんプログラミングはExcelのVBAがほとんどでこれならかなり本格的なこともできるスキルがあります。
ところでJavascriptに興味を持ちメモ帳でJavascriptをはじめました。
これでExcelVBAのようにコード書くときにインテリセンスで入力補助ができるツールってないんですか?
メモ帳だから当然そんなのできません。
Javascriptの入門書はいつくか読んでますがExcelVBAのようなインテリセンスが使える開発環境のことには全くふれていません。

815:デフォルトの名無しさん
17/08/18 00:33:09.65 SqU1frnT0.net
JavaScriptスレでどうぞ

816:デフォルトの名無しさん
17/08/18 00:52:10.12 fGYkVGPpr.net
ふつーにVSでいいんじゃね?

817:デフォルトの名無しさん
17/08/18 02:47:26.07 2Rkfa1Rx0.net
うむ

818:デフォルトの名無しさん
17/08/18 06:08:15.32 Pl3jF8BM0.net
フリーのテキストエディタなんて腐るほど調べりゃ出てくるだろ

819:デフォルトの名無しさん
17/08/18 06:32:04.53 fGYkVGPpr.net
>>805
インテリセンスはどうすんの?

820:801
17/08/18 06:47:56.97 r9Ad8ntQ0.net
>>802
いや、ここに居座る。
>>803
VSってVisual Studioですかね?かなり本格的なツールと思いますが
Javascriptでインテリセンスだけできたらいいのですがシンプルなツールはないものでしょうか?
というよりJavascriptやってる人の使用ツールの使用率みたいな円グラフはないでしょうか?
あとExcelVBAでよくやるブレークポイントを使ってF8のコマ送りや実行途中で変数の値を見るのって
Javascriptで使うツールでもできるんですかね?

821:デフォルトの名無しさん
17/08/18 06:56:08.49 uergmdKS0.net
回答率が低い方で聞くのは時間の無駄では?
NGにするから何でもいいけど

822:デフォルトの名無しさん
17/08/18 07:07:24.51 k8zOSHbua.net
>>806
javascriptサポートしてるやつは出てくるんじゃねえの?
使ったことないけど
出ないならvsとか使えばいいじゃん

823:デフォルトの名無しさん
17/08/18 07:14:13.91 r9Ad8ntQ0.net
なんだよ、ここじゃ教えてくれないのです?

824:デフォルトの名無しさん
17/08/18 07:15:23.14 r9Ad8ntQ0.net
             / ̄ ̄ ̄ ̄ ̄\
         /           \
         /              ヽ 
   / ̄\ l      \,, ,,/      | そりゃないよ
  ,┤    ト |    (●)     (●)   | かあちゃん!
 |  \_/  ヽ     \___/     |  
 |   __( ̄ |    \/     ノ 
 ヽ___) ノ

825:デフォルトの名無しさん
17/08/18 07:17:18.70 r9Ad8ntQ0.net
>>809
VSは会社で気軽にインストールできないじゃん

826:デフォルトの名無しさん
17/08/18 07:28:46.83 sIEj8B6D0.net
必要なら出来るだろ

827:デフォルトの名無しさん
17/08/18 07:30:00.10 k8zOSHbua.net
TR取れないくんはgetElementByTagName("TR")は試したのかよ

828:デフォルトの名無しさん
17/08/18 07:36:13.08 fGYkVGPpr.net
>>812
そこなんだよ、問題は。
じゃ、テキストエディタは気軽にインスコできるのかっつーと、インテリセンス実現するためには、やれプラグインだなんだって追加する必要が出てくる。
ソフトのインストール申請は1回で済ませたいよね。
となると、なんだかんだでVSが最良の選択肢になる。
配布元がMSなのも安心だし。
HTMLやCSSも入力補完できるからね。
入れておくとめちゃ便利でっせ、旦那。

829:デフォルトの名無しさん
17/08/18 08:07:29.86 k8zOSHbua.net
TeraPadは便利そうだけどvbscriptが標準でサポートされてないのがつらい

830:デフォルトの名無しさん
17/08/18 08:21:16.51 6b7crCYjx.net
Notepad++とか軽くていいぞ
申請通りやすいかどうかは分からんが

831:デフォルトの名無しさん
17/08/18 08:32:10.11 MkY1nhvU0.net
TeraPad は、サロゲートペア(4バイト文字)のような、
ユニコードに新しく採用された漢字は、? に変換されてしまう
中国の「深圳」みたいな漢字

832:デフォルトの名無しさん
17/08/18 08:34:34.23 Jk1oT0GC0.net
スレタイも読めない馬鹿はスルーで

833:デフォルトの名無しさん
17/08/18 09:27:19.77 r9Ad8ntQ0.net
>>819
こんな掲示板のルールは守る必要がない。
そもそも20年くらい前のインターネット創始期にリアル世界からバーチャル世界への人々の続々の初参加で
みんなが気軽に参加さえできればどこでもいい掲示板がたまたまここだっただけで
まるで自分のアイデアで発明して作り上げた掲示板と勘違いした管理人が有名になったことも利用して年収数億円にもなった
そんなずるいアホの作ったルールを守る必要あるか?


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