Excel VBA 質問スレ Part49©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/26(月) 02:15:14.60ID:T3ylemnb0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

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

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

※前スレ
Excel VBA 質問スレ Part48
http://mevius.2ch.net/test/read.cgi/tech/1494890685/

※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/08/11(金) 04:12:54.28ID:+mgolt3u0
そもそも何のDB(ドライバ)かすら書いてないし
どうやってレコードセット開いてupdateしたのか書いてないし
レスするだけ無駄な気がするぜ

>EOFがtrueじゃありません
そんなエラー見たことないな。EOFがFalseなら普通にデータ取れてるってことじゃねえの?
EOFがTrue前提の操作が浮かばんが、何しようとしたらそんなエラーになるんだよ

>IZAMが有効じゃありません
IZAMって何さ?ビジュアル系バンドメンバーかよ
2017/08/11(金) 07:44:16.53ID:xHfWhpghr
>>743
> レスするだけ無駄な気がするぜ

いいんだよ、それで。雑談が目的なんだから。
答えを出す必要はない。


>> EOFがtrueじゃありません
> そんなエラー見たことないな。

ADOでレコードセットを操作していると、ときたま現れるエラー。
クエリ結果にレコードが1件もない場合とかに出たりする。
745デフォルトの名無しさん (ワッチョイ 0e4b-K+Tw)
垢版 |
2017/08/11(金) 11:24:22.86ID:dnJD889I0
初心者ですがご教授下さい
クラス内にTRが9ありそのうちの1〜4を取得したいと思っています。
現在は1しか取得できません。どう書き換えればいいでしょうか?
Sub shisaku()
Dim objIE As InternetExplorer
Set objIE = CreateObject("Internetexplorer.Application") '
objIE.Visible = True '
objIE.navigate "http://www.aaa/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
2017/08/11(金) 11:47:54.41ID:H2cGDcz1a
>>745
なんでcolTRをclassnameで取得してんの?
2017/08/11(金) 11:50:59.38ID:H2cGDcz1a
あと並べて書いた場合でも変数一つずつ型指定してかないとvariantになるよ、vbaの場合
2017/08/11(金) 13:07:34.65ID:11Y29+uU0
吉岡美穂のカキタレ
2017/08/11(金) 13:38:42.84ID:dnJD889I0
>>747
vbaでieを操作を読んでもググってもあり理解出来なくてとりあえず作りながら覚えようと
コピペしたものを一部変えました
tr、tdは特定出来ずclassが特定出来るのですがどのように書き換えればよろしいのでしょうか?
750デフォルトの名無しさん (ワッチョイ 0391-8lAF)
垢版 |
2017/08/11(金) 13:56:55.44ID:kj6/PAcR0
>>749
処理対象によってどうすればいいか変わるから
対象が判らないとなんとも言えないのではないと思う

クラスで全部のTRを取れてるのかも判らないし
2017/08/11(金) 14:32:36.47ID:yOhrxWpUa
>>749
trがほしいならgetElementsByTagName("TR")で取るのが普通じゃね
その後のfor eachの中の処理もよくわからんが
2017/08/11(金) 14:42:02.39ID:hvV/hgBn0
例えば下のように文字と数字が並んでいて、文字を数字の横に持って行くにはどうしたらいいですか?

12
q
15
b
10
c

12 q
15 b
10 c
2017/08/11(金) 14:45:37.73ID:fD8DkUIg0
>>745
生のjsそのまま使うのはめっちゃめんどくさいから、ラッパーを探したほうが良い
で、探した。以下のサイトのラッパー使えば多分すぐに出来ると思う
http://language-and-engineering.hatenablog.jp/entry/20090710/p1
2017/08/11(金) 14:51:25.70ID:fD8DkUIg0
>>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
2017/08/11(金) 15:01:16.16ID:hvV/hgBn0
>>754
ありがとうございます。
でもすみません、2連続で文字のパターンもあります
正確には下のような感じです


q
r


d


c


○ qr(セル内改行)
○ b
○ c
756デフォルトの名無しさん (ワッチョイ 0391-8lAF)
垢版 |
2017/08/11(金) 15:12:27.50ID:kj6/PAcR0
>>755
まず数字か文字列か判別すればいいんじゃね?
if a like "[0-9]*" then
って感じでできる様なきがする
2017/08/11(金) 15:23:36.72ID:hvV/hgBn0
>>756
今考えてるのは以下の感じです
VBAもプログラミングも初心者のため全然コードがわかってなくてすみません


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
2017/08/11(金) 15:32:45.42ID:fD8DkUIg0
>>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
2017/08/11(金) 15:33:16.05ID:fD8DkUIg0
>>756
なんでlikeなんだよ
isnumericでいいだろw
760デフォルトの名無しさん (ワッチョイ 0391-8lAF)
垢版 |
2017/08/11(金) 15:48:56.25ID:kj6/PAcR0
>>759
数字を含む文字列をどっちに判別するかによるんじゃね
2017/08/11(金) 16:02:01.36ID:yOhrxWpUa
>>749
追記でおせっかいついでに、ie操作覚えたいなら軽くhtml勉強したほうがいいよ
エクセルのオブジェクト理解せずにvbaで扱うなんて無理なのと一緒
2017/08/11(金) 16:32:57.50ID:FWZL6nYt0
Ruby で書いた
https://paiza.io/projects/HhNVuMxF20bU1t4-GMp0VQ

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 の後ろに、半角空白が入っているけど
2017/08/11(金) 20:25:45.30ID:Nl+bIgs10
>>742
普通にCopyFromRecordsetするだけなら出来るんです。

Do Until rs.EOF
 rs!項目=何とか ←ここで何かしようとすると、Debug.Print以外は全て失敗します。
 rs.MoveNext
Loop

諦めて、GetRowsして編集してから出力しようとしたら、
縦横入れ替わってるし(Excelで使うのに何故こんな仕様にした?)、
Transposeで直そうと思っても型が違いますとか言われるし・・。

>>743
I-zamはサポートしてませんだったかも?
2017/08/11(金) 20:45:51.85ID:2aci5jkj0
>>763
>rs!項目=何とか ←ここで何かしようとすると、

rs.項目に何か代入しようとしてんのか?
2017/08/11(金) 20:48:59.91ID:+mgolt3u0
>>744
>クエリ結果にレコードが1件もない場合とかに出たりする。
それ普通はEOFがTrueになるはずだけど
MySQLのドライバでそうならなかったりするのか?ドライバのバグじゃねえの?
それどうやってゼロ件かどうか判定するんだ?
2017/08/11(金) 21:03:31.05ID:+mgolt3u0
>>763
だからDBとドライバ何で、どうやってそのレコードセット作ってるんだよ

そもそもレコードセットを更新する必要があるのかどうかも疑問だけどな
レコードセットは常に更新できるとは限らんのだぞ
2017/08/11(金) 21:18:12.65ID:Nl+bIgs10
>>764
そうです。
SQL上だと難しい内容があるので、後から入れようかなと。

>>766
CsvとMicrosoft.Ace.OLEDB.12.0です。
元のCsvの方は、多分更新出来ないだろうとは思ってたのですが、
出力結果の方に、編集した内容が反映されればいいかなと。
2017/08/11(金) 21:29:48.64ID:2aci5jkj0
>>767
CursorTypeがどうなっているのかとかいちいちこちらから聞かないと情報を出さないのか?
で、延々と続ける気?
769デフォルトの名無しさん (ワッチョイ 0391-8lAF)
垢版 |
2017/08/11(金) 22:03:13.38ID:kj6/PAcR0
>>764
rsに代入できるんだっけ?
debug.print出来るならrsから読み込むのは出来るんじゃね?
別変数にコピーしてから変更したら?
2017/08/11(金) 22:06:37.63ID:mfxycmdp0
Excel(VBA)でデータベース接続ってどういうのが一般的なんでしょうか?
自分は専ら生ODBCを叩いているので他人のことが気になってる。
771デフォルトの名無しさん (ワッチョイ 0391-8lAF)
垢版 |
2017/08/11(金) 22:11:37.85ID:kj6/PAcR0
>>770
そんなの統計とかアンケートとかとってる人いないんじゃないかな
実現したいことができればいいんじゃね
2017/08/11(金) 22:15:41.96ID:fD8DkUIg0
そもそもexcelでデータベースに接続しないな
全部accessで済ませてしまう
2017/08/11(金) 22:36:29.71ID:mfxycmdp0
>>772
VBAとODBCドライバしか使わないのでExcel, Outlook, Word, Access その他 Officeなら何でもOKにはしてる。
ExcelとOutlookくらいしか使わないけどね。
Outlookはメールで「このテーブルをこう読んだときに〜」とか連絡を受けたときにそのままVBEを開いて使ったりとか。
2017/08/11(金) 23:12:57.71ID:Nl+bIgs10
>>768
それは最初に、読み取り専用じゃないやつに変えたけどダメだったと書きましたけど。

>>770
ググって引っかかる率が高いのはADO。
外部データ取り込みの方なら、参照設定もいらないのに、どういうわけかADOばっか。
ADOばっか出るから、ADOに乗り換えてみたら、このザマですよ。
2017/08/11(金) 23:35:39.96ID:mfxycmdp0
>>774
乗り換えた、って何から?
2017/08/12(土) 00:49:01.81ID:RTe2mUwF0
>>775
外部データ取り込み(Microsoft Query)からです。

シートの指定が、なぜか[シート名$]じゃなくて`シート名$`とか、
データの出力開始列にコマンドボタンを配置すると、ボタンを押した瞬間、
ボタンが横に逃げるとか(離すと元の位置に戻ってくる)、
意味不明な軽い嫌がらせがありますけど。
2017/08/12(土) 10:58:36.59ID:AoA5DjYT0
ヘルプ見ると日付型の説明として以下のように書いてあるじゃん。

 日付型 (Date) の変数は、IEEE 64 ビット (8 バイト) の浮動小数点数の変数です。
 西暦 100 年 1 月 1 日〜西暦 9999 年 12 月 31 日の範囲の日付と、0:00:00 〜 23:59:59 の
 範囲の時刻を表すことができます。

でも1900年以前のDate型変数をワークシートに貼ろうと思ってもできなくて、

 実行時エラー'1004':
 アプリケーション定義またはオブジェクト定義のエラーです。

ってエラーが出てくるじゃん。これ控えめにいtt
2017/08/12(土) 11:02:43.67ID:q63a26xE0
mysqlとodbc経由で接続している。以前はSQLServerとでもやってた。他にもポスグレやoracleとやってる人間も沢山居るだろ。
んでそんな文句言ってるのはお前だけ。

お前のソースがバグだらけなんだよ。けどソースは示さないんだろ?一人勝手にやってろ
2017/08/12(土) 11:56:57.58ID:TCrjrl3y0
>>725
ごめんできちゃった

ありがとね
2017/08/12(土) 12:46:19.08ID:IpuKNNKZr
>>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
2017/08/12(土) 13:38:05.91ID:IpuKNNKZr
>>779
満足してもらえたようで良かったです。
2017/08/12(土) 15:49:33.01ID:s2RcRfJ50
>>.777.
それはVBAの問題じゃない
EXCELで扱える日付範囲がVBAより狭いだけ
783デフォルトの名無しさん (ワッチョイ ab09-KsLg)
垢版 |
2017/08/13(日) 10:20:51.63ID:YIp/txnN0
VABでIEを開いて、
情報を取ってるんですが、
ie.Visible = False
で、
画面でないようにしてるけど、
これは、どこか裏で開いてる?
それとも、消えてくれるのかな、
Falseで画面出さない時は、
IE閉じる処理はしなくてもいいでしょうか?
2017/08/13(日) 10:33:34.50ID:ua4YvzFl0
よくわからんけど、WBEクエリってので、
画面出さずに取れませんか。
785デフォルトの名無しさん (ワッチョイ ab09-KsLg)
垢版 |
2017/08/13(日) 10:35:11.41ID:YIp/txnN0
>>784
クエリでも獲れるけど、
VBAも使いたいので、
なにか閉じる処理とかいるのかなぁ
2017/08/13(日) 10:45:28.39ID:B6edc+jF0
>>784
表の中の項目だったら<td>のinnerTextを取ればいいし、リンクだったら<A>のhrefを取ればいい。
ググればなんとかなるさ。
2017/08/13(日) 11:53:36.55ID:TIsdzDXzr
>>783
タスクマネージャのプロセスにieが残ってるはず。
たとえバックグラウンドであっても、開いたら閉じるが原則。

ie.Quitの1行は必須です。
2017/08/13(日) 12:24:29.35ID:B6edc+jF0
>>784
ごめんWebクエリってExcelの機能があったのか。
>>786ではCreateObject("MSXML2.XMLHTTP")とCreateObject("htmlfile")を使う方法を答えてしまった。
789デフォルトの名無しさん (ワッチョイ ab09-KsLg)
垢版 |
2017/08/13(日) 12:33:27.11ID:YIp/txnN0
>>787
そうですか、
閉じるようにします、
ありがとうございます!
>>788
俺も、
htmlのタグとか、でieから情報とってる。
790デフォルトの名無しさん (ワッチョイ f34b-qwy0)
垢版 |
2017/08/16(水) 19:34:35.81ID:jf8MYepF0
>>745です
childrenで情報は取得できそうです(イミディエイト上確認できています)

エクセルのA列に入力のURL100をA2から順に自動で情報取得、B列、C列、D列に取得した情報を出力したいのですがどのようにすればいいでしょうか?
おそらくは下記部分の書き換えかと思われますがご教授下さい

objIE.navigate "http://www.aaa.jp/1234/123456789";

Debug.Print colTD(2).innerText & "|" & colTD(3).innerText & "|" & colTD(4).innerText
2017/08/16(水) 21:36:07.94ID:DoB/Yq6sa
>>790
昔作った簡易ツールなんだけどさ、これで指定のURLのページのDOM情報を全部ごっそり取れるから試して見たら。

標準モジュールに張り付けて保存して閉じた後で再度開くとアドインリボンにボタンが2つ出来る。

https://pastebin.com/KkNL9u4G
2017/08/16(水) 22:17:10.08ID:DoB/Yq6sa
一点忘れてた。
このツール、取ってくるページが重いと時間がかかる。

あんまり遅いときはBreakしてくれ。
2017/08/16(水) 22:19:22.62ID:6PDnHTyR0
CreateObject("InternetExplorer.Application")
なんてしたくないからMSXML2.XMLHTTPとか使うんじゃないのか?
2017/08/16(水) 22:53:28.23ID:DoB/Yq6sa
>>793
DOM情報は一緒に使える。
情報を得るだけならMSXML2.XMLHTTPの方が良い。

俺のツールは10年以上前に作ったから、その頃はMSXML2.XMLHTTPを知らんかった。
2017/08/17(木) 06:21:37.08ID:5/l7qEpXr
>>791
タイプミスが1個あったよ。

181行目:objndode

おそらく、objNodeと思われ...
2017/08/17(木) 08:34:41.30ID:CrDCSFke0
お前の過去とか知らんし、判ってる事なら修正版を出してはくれまいか
2017/08/17(木) 17:22:04.13ID:im50xVqsa
>>795
おお、確かに。

>>796
必要なら自分で修正しなよ。
使えるから長いこと使ってるけど簡易ツールだし、マウス下のDOM情報を取って来るツールとかを使う場合も多い。
バグだらけだから公開はしないけど。
798デフォルトの名無しさん (ワッチョイ e14b-XaGt)
垢版 |
2017/08/17(木) 18:27:33.83ID:IrM4WgJo0
>>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
2017/08/17(木) 21:06:10.14ID:wc7ZtjOc0
>>798
このへん読めばいいんじゃないの?
http://www.kanaya440.com/contents/tips/vbs/007.html
2017/08/17(木) 23:13:12.34ID:yWP51BMra
>>798
そうじゃなくて、そのツールでとってこれるのは指定のURLのページがどういう構造になっているかという情報。
それが分かれば自分で組めるでしょという話。
500個のURLのページがみんな同じ構造なら取りあえず1つだけ構造を調べれば他は同じように組めるでしょ。

例えば君は9個のTRの内、1〜4を取りたいけど1だけしか成功して無いんだろ。
なぜ2〜4が取れないかを調べるのに使う。
取りたいデータに名前やクラス名がついてたらそれで取ってきた配列を使うし、無ければタグ名で取って来る。
タグ名ならその右にある番号から何個飛ばしで取れば良いとかを類推する。

MSXML2.XMLHTTPやMSHTML.HTMLDocumentは単純にInternetExplorer.Applicationを置き換えて使えるわけじゃない。
ソースを取ってきてそれをDOMDocumentに当て嵌めれば似たように使えるけど。

ところで、1日に500個のURLから情報取ってきて問題無いんだろうね。
岡崎図書館の例にもある通り、不正アクセスとして捕まるのを避けるために先方には確認してる?
801デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/17(木) 23:29:45.34ID:Fn2cTqwk0
ふだんプログラミングはExcelのVBAがほとんどでこれならかなり本格的なこともできるスキルがあります。
ところでJavascriptに興味を持ちメモ帳でJavascriptをはじめました。
これでExcelVBAのようにコード書くときにインテリセンスで入力補助ができるツールってないんですか?
メモ帳だから当然そんなのできません。
Javascriptの入門書はいつくか読んでますがExcelVBAのようなインテリセンスが使える開発環境のことには全くふれていません。
2017/08/18(金) 00:33:09.65ID:SqU1frnT0
JavaScriptスレでどうぞ
2017/08/18(金) 00:52:10.12ID:fGYkVGPpr
ふつーにVSでいいんじゃね?
804デフォルトの名無しさん (ワッチョイ dbaa-jLVh)
垢版 |
2017/08/18(金) 02:47:26.07ID:2Rkfa1Rx0
うむ
2017/08/18(金) 06:08:15.32ID:Pl3jF8BM0
フリーのテキストエディタなんて腐るほど調べりゃ出てくるだろ
2017/08/18(金) 06:32:04.53ID:fGYkVGPpr
>>805
インテリセンスはどうすんの?
807801 (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 06:47:56.97ID:r9Ad8ntQ0
>>802
いや、ここに居座る。

>>803
VSってVisual Studioですかね?かなり本格的なツールと思いますが
Javascriptでインテリセンスだけできたらいいのですがシンプルなツールはないものでしょうか?
というよりJavascriptやってる人の使用ツールの使用率みたいな円グラフはないでしょうか?

あとExcelVBAでよくやるブレークポイントを使ってF8のコマ送りや実行途中で変数の値を見るのって
Javascriptで使うツールでもできるんですかね?
2017/08/18(金) 06:56:08.49ID:uergmdKS0
回答率が低い方で聞くのは時間の無駄では?
NGにするから何でもいいけど
2017/08/18(金) 07:07:24.51ID:k8zOSHbua
>>806
javascriptサポートしてるやつは出てくるんじゃねえの?
使ったことないけど
出ないならvsとか使えばいいじゃん
810デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 07:14:13.91ID:r9Ad8ntQ0
なんだよ、ここじゃ教えてくれないのです?
811デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 07:15:23.14ID:r9Ad8ntQ0
             / ̄ ̄ ̄ ̄ ̄\
         /           \
         /              ヽ 
   / ̄\ l      \,, ,,/      | そりゃないよ
  ,┤    ト |    (●)     (●)   | かあちゃん!
 |  \_/  ヽ     \___/     |  
 |   __( ̄ |    \/     ノ 
 ヽ___) ノ
812デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 07:17:18.70ID:r9Ad8ntQ0
>>809
VSは会社で気軽にインストールできないじゃん
2017/08/18(金) 07:28:46.83ID:sIEj8B6D0
必要なら出来るだろ
2017/08/18(金) 07:30:00.10ID:k8zOSHbua
TR取れないくんはgetElementByTagName("TR")は試したのかよ
2017/08/18(金) 07:36:13.08ID:fGYkVGPpr
>>812
そこなんだよ、問題は。

じゃ、テキストエディタは気軽にインスコできるのかっつーと、インテリセンス実現するためには、やれプラグインだなんだって追加する必要が出てくる。

ソフトのインストール申請は1回で済ませたいよね。
となると、なんだかんだでVSが最良の選択肢になる。
配布元がMSなのも安心だし。

HTMLやCSSも入力補完できるからね。
入れておくとめちゃ便利でっせ、旦那。
2017/08/18(金) 08:07:29.86ID:k8zOSHbua
TeraPadは便利そうだけどvbscriptが標準でサポートされてないのがつらい
2017/08/18(金) 08:21:16.51ID:6b7crCYjx
Notepad++とか軽くていいぞ
申請通りやすいかどうかは分からんが
2017/08/18(金) 08:32:10.11ID:MkY1nhvU0
TeraPad は、サロゲートペア(4バイト文字)のような、
ユニコードに新しく採用された漢字は、? に変換されてしまう

中国の「深圳」みたいな漢字
2017/08/18(金) 08:34:34.23ID:Jk1oT0GC0
スレタイも読めない馬鹿はスルーで
820デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 09:27:19.77ID:r9Ad8ntQ0
>>819
こんな掲示板のルールは守る必要がない。

そもそも20年くらい前のインターネット創始期にリアル世界からバーチャル世界への人々の続々の初参加で
みんなが気軽に参加さえできればどこでもいい掲示板がたまたまここだっただけで
まるで自分のアイデアで発明して作り上げた掲示板と勘違いした管理人が有名になったことも利用して年収数億円にもなった
そんなずるいアホの作ったルールを守る必要あるか?
2017/08/18(金) 09:32:23.59ID:vyx+pdak0
IDEがダメならVSCにすりゃ良いだろ
デバッグ機能使えるし、エディタ扱いだから軽い
822デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 09:37:07.95ID:r9Ad8ntQ0
>>821
それはあちらのスレでもだれかが言ってたvisual studio codeですか。
評判よさそうなので使ってみます。
823デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 09:39:00.89ID:r9Ad8ntQ0
あと最重要なことを忘れていた。
Excel VBAのF2で呼び出せるオブジェクトブラウザは上級者ならこの便利さは涙ものだと思うけど
これに相当するものはJavascriptでも使えるんですよね?
たいていのツールならJavascriptでのオブジェクトブラウザは見れる仕様になってるの?
824デフォルトの名無しさん (ササクッテロロ Sp4d-wXqg)
垢版 |
2017/08/18(金) 09:39:54.13ID:AHP5pPkPp
visual studio codeはフリーで商用利用も可能だったはず
2017/08/18(金) 11:46:40.85ID:Jk1oT0GC0
>>820
ルール無用な俺格好いい!w
2017/08/18(金) 11:49:00.60ID:4NPjN4uFd
VSCかー、使ってみようかな
今までVSとVBEでしかプログラム書いたことないや
2017/08/18(金) 11:56:09.72ID:WOYUy8950
>>820
>まるで自分のアイデアで発明して作り上げた掲示板と勘違いした管理人

何かの著書で、自分のオリジナルじゃないと言い切ってたけど。
2017/08/18(金) 11:58:21.04ID:pqZlgJQex
>>820
ヒュー
スゲー承認します。



が提案は却下でーーす
2017/08/18(金) 12:26:45.40ID:fGYkVGPpr
>>820
> こんな掲示板のルールは守る必要がない。

相手してくれる人がいるんならそれでいいんじゃね。
相手したくないやつはスルーするだろうし。
830デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 12:44:31.00ID:r9Ad8ntQ0
しかもそいつはYoutube動画のすべてのサムネイルで
自分のカバみたいなデカい顔を恥ずかしげもなくデカデカとのせてる。
https://www.youtube.com/channel/UCWlenAgH6lBO36CKiAQR6gQ/videos
これが許させるのはイケメンだけではないか?
勘違いもはなはだしい。
831デフォルトの名無しさん (ワッチョイ 9352-jLVh)
垢版 |
2017/08/18(金) 12:57:32.20ID:r9Ad8ntQ0
動画の内容も幼稚。
こんな低レベルのことしか考えれないのにしゃべるな!というレベル。

例えばプログラミングついての動画見てよ。
https://www.youtube.com/watch?v=N9Xl2m-GZwc
コピペが最良とか言ってて、こんなんやってたら共同作業でプログラングやってたらめちゃめちゃになる。
このレベルじゃデザインパターンとかリファクタリングのことを全く知らないしろうとだとわかる。
この人さっぱりプログラミングできないのは明らか。
言語の見解としてCOBOLはやる人がいないからチャンスかも、というのもそれは違うだろ。
2017/08/18(金) 13:20:37.36ID:SqU1frnT0
はいはいかっこいい
2017/08/18(金) 13:55:05.43ID:HoFsfG3Ua
>>831
まあ、どうでも良いんだがjavascriptは詳しくないからなあ。
有用な回答が得られるかっていうと知らんということでjavascriptのスレよりは難しいんじゃないか?

ところでググることぐらいはしてるんだろうね。
OmniSharpが使えるエディタならなんでもいけるかも。

あと、マイナーかもしれんがScite4がいけるかも。
AutoItで使ってるからjavascriptはどの程度使えるかは分からんが。
2017/08/18(金) 14:04:26.04ID:HoFsfG3Ua
>>814
うん、DOMの構造を調べて求めるデータがgetElementsByTagname("TR")の何番目なのかや、実際にはその子どもや孫の可能性もあるからその何番目かっていうのを簡易ツールで調べて欲しいんだがね。
テーブルの場合、連続した番号にならないことも多いから何個飛ばしかが分かれば取ってこれると思うんだけど。
2017/08/18(金) 15:07:33.11ID:pqZlgJQex
>>831
スゲー承認します
836デフォルトの名無しさん (ワッチョイ e14b-XaGt)
垢版 |
2017/08/18(金) 17:40:24.80ID:AdXlT0dS0
TR取れない君です
>>790に書いてますが取得は出来てます
3サイト程試したので理解は出来ているかと思います
昨日はcellに出力まで出来ました。
Set colTable = htmlDoc.getElementsByName("oppai")

Dim el As IHTMLElement
For Each el In colTable

Set colTH = el.getElementsByTagName("th")
Set colTD = el.getElementsByTagName("td")

i = 2
Cells(i, "B") = colTD(2).innerText
Cells(i, "C") = colTD(3).innerText
Cells(i, "D") = colTD(4).innerText

Next el

後はA列に記載のURLから順に情報を取得して上のcellに格納していくのと
MSXML2.XMLHTTPやMSHTML.HTMLDocument化です

A列に記載のURL(B2からB101)から順に情報を取得して上のcellに格納の
具体的なコードを教えて頂けないでしょうか
837デフォルトの名無しさん (ワッチョイ e14b-XaGt)
垢版 |
2017/08/18(金) 17:41:43.48ID:AdXlT0dS0
A2からA101の間違いです
2017/08/18(金) 17:55:29.64ID:MkY1nhvU0
>>798
1つのドメインにつき、1日1回までにしておかないと、業務妨害で逮捕されるぞ。
同じサイトへ、しつこくアクセスするなよ

普通のサイトは、ツールでのアクセスは認めていないから

robots.txt に、検索エンジンのクローラー(ロボット)に対する、命令が書いてあって、
それに従わないアクセスは、業務妨害で逮捕される
839デフォルトの名無しさん (ワッチョイ e14b-bEti)
垢版 |
2017/08/18(金) 20:31:07.04ID:AdXlT0dS0
>>838
えっ1日に2回サイトにアクセスすると逮捕って日本の法律?
じゃあスクリプト組んで商品買ってるやつみんな逮捕されてんの
コードの書き方書いてるやつやソフト屋も幇助で逮捕されてるんだ

ちなみに取りに行くの海外サイトなんだけど同じなの?
国際指名手配とかになると困るんだけど
2017/08/18(金) 20:35:27.71ID:50s8GsCc0
岡崎図書館アクセス事件か
2017/08/18(金) 20:42:49.44ID:uergmdKS0
>>839
大丈夫だよ
>>838はちょっと頭がおかしいだけ
2017/08/18(金) 23:15:13.61ID:b4AgNHol0
>>840
> 岡崎図書館アクセス事件か
wikiを見てみると、1秒に1アクセスは「常識的で礼儀正しい」って世間の認識のようだね

男性の作成したクローラの動作
このクローラは、同時には一回しかリクエストを送らず、受信後に間隔をおいてから次のリクエストを送信していた
(1秒に1アクセス程度に調整)。これはクローラの動作としては「常識的」「礼儀正しい」程度のものであり、
応答を待たずに過大なアクセスを行うことで高負荷にさせる攻撃用のプログラムと異なる動作であった。

男性の業務妨害の強い意図が認められないとして起訴猶予処分となった
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況