!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
探検
Excel VBA 質問スレ Part49©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bb2e-8SzA)
2017/06/26(月) 02:15:14.60ID:T3ylemnb0709デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/08(火) 07:26:59.16ID:qEy0EStIr710デフォルトの名無しさん (ワッチョイ ad91-Mpnj)
2017/08/08(火) 07:52:46.37ID:4vV+Ffiu0711デフォルトの名無しさん (ワッチョイ 3b6d-dE0h)
2017/08/08(火) 07:57:39.53ID:sJaKEDtc0 これエラーにならん
Debug.Print 1 / Time
これはエラー
foo = time
Debug.Print 1 / foo
意味わかんねぇmsに聞くか
Debug.Print 1 / Time
これはエラー
foo = time
Debug.Print 1 / foo
意味わかんねぇmsに聞くか
712デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/08(火) 08:15:13.81ID:qEy0EStIr >>711
型が関係してるとしか思えないんだけど…
型が関係してるとしか思えないんだけど…
713デフォルトの名無しさん (ドコグロ MMcf-/F0N)
2017/08/08(火) 08:17:59.56ID:7r69+AsTM714デフォルトの名無しさん (ササクッテロロ Spa9-Mpnj)
2017/08/08(火) 08:18:45.83ID:T3VkQlydp715デフォルトの名無しさん (ササクッテロロ Spa9-Mpnj)
2017/08/08(火) 08:21:04.55ID:T3VkQlydp >>713
時刻を基準日時刻からの時間以外で定義できるんだっけ?
時刻を基準日時刻からの時間以外で定義できるんだっけ?
716デフォルトの名無しさん (ワッチョイ 3b6d-9Afs)
2017/08/08(火) 08:24:56.85ID:sJaKEDtc0717デフォルトの名無しさん (ワッチョイ 57aa-/L7g)
2017/08/08(火) 08:24:58.32ID:Czpew14v0 今のとこ試した範囲では、2010で割る方の方がDate型だとエラー51だすな
バリアントだとVarType 7(vbDate)でも平気
どうにもバグくさい。だれかインシデント余ってるやつMSに聞いてくれ
>>711
だからエラーになるやつは環境かけよ
Win7 2010ではそれだけではエラーにならんぞ
どっかでfooをDateで宣言してんじゃねえのか
バリアントだとVarType 7(vbDate)でも平気
どうにもバグくさい。だれかインシデント余ってるやつMSに聞いてくれ
>>711
だからエラーになるやつは環境かけよ
Win7 2010ではそれだけではエラーにならんぞ
どっかでfooをDateで宣言してんじゃねえのか
718デフォルトの名無しさん (ワッチョイ 57aa-/L7g)
2017/08/08(火) 08:31:46.30ID:Czpew14v0719デフォルトの名無しさん (ブーイモ MMc1-wxFU)
2017/08/08(火) 12:35:05.88ID:l31z4HMeM 除算は1900/1/1からの経過日数の比
って認識で良いのかな
って認識で良いのかな
720デフォルトの名無しさん (ワッチョイ 0b06-gAma)
2017/08/08(火) 17:34:44.63ID:o2sPvDRf0 >時間の就業時間の間に25分掛かる作業を何回できるか見積るとか
(終了時間ー開始時間)を分単位に直して25で割るってことじゃないですか。
これは10000円を100円単位に分けたらいくつになる?ってのと同じ数量の問題だよね?
時刻の除算ってのは例えば
A = "2017/04/11 16:54:00"
B = "2017/08/15 10:45:48"
で A / B (Aは日付型でなくてもいいんだろうけど)ということでしょ?
これにどんな意味があるのよ
(終了時間ー開始時間)を分単位に直して25で割るってことじゃないですか。
これは10000円を100円単位に分けたらいくつになる?ってのと同じ数量の問題だよね?
時刻の除算ってのは例えば
A = "2017/04/11 16:54:00"
B = "2017/08/15 10:45:48"
で A / B (Aは日付型でなくてもいいんだろうけど)ということでしょ?
これにどんな意味があるのよ
721デフォルトの名無しさん (スプッッ Sddb-6kmL)
2017/08/08(火) 18:14:01.43ID:Plhneb/rd 単純な操作のはずなのによくわからん
0. .xlmxファイルを(パス:\A)に作成しておく
1. フォルダ(パス:\B)内のすべてのCSVファイル(データは1列のみ)を、先ほど作成したファイルのSheet1の2列目から順次マージする
データを繋げるところで詰まるので助けてください
0. .xlmxファイルを(パス:\A)に作成しておく
1. フォルダ(パス:\B)内のすべてのCSVファイル(データは1列のみ)を、先ほど作成したファイルのSheet1の2列目から順次マージする
データを繋げるところで詰まるので助けてください
722デフォルトの名無しさん (ドコグロ MMcf-/F0N)
2017/08/08(火) 18:15:20.46ID:7r69+AsTM723デフォルトの名無しさん (ワッチョイ ad91-Mpnj)
2017/08/08(火) 19:18:53.44ID:4vV+Ffiu0724デフォルトの名無しさん (ワッチョイ ad91-Mpnj)
2017/08/08(火) 19:20:53.27ID:4vV+Ffiu0725デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/08(火) 19:33:26.34ID:qEy0EStIr726デフォルトの名無しさん (ワッチョイ 5323-/FH4)
2017/08/08(火) 19:36:48.60ID:bHuYQqMY0 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
以下のマクロをボタンに登録し、印刷範囲を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
727デフォルトの名無しさん (ワッチョイ 1f6f-/FH4)
2017/08/08(火) 21:36:34.68ID:JRNVbyEr0 複数ステップのOLE DBの操作でエラーが発生しましたとか言われて、
adOpenKeyset, adLockOptimisticで対策したら、
今度はUpdateで怒られるんですが、どうにかなりまんせん?
adOpenKeyset, adLockOptimisticで対策したら、
今度はUpdateで怒られるんですが、どうにかなりまんせん?
728デフォルトの名無しさん (ワッチョイ ad91-Mpnj)
2017/08/08(火) 21:50:18.55ID:4vV+Ffiu0 >>727
エラーとカーソルタイプやロックタイプは関係あるの?
エラーとカーソルタイプやロックタイプは関係あるの?
729デフォルトの名無しさん (ワッチョイ 1f6f-/FH4)
2017/08/08(火) 22:02:37.25ID:JRNVbyEr0730デフォルトの名無しさん (ワッチョイ ad91-Mpnj)
2017/08/08(火) 22:06:10.50ID:4vV+Ffiu0 sqlのエラーならそこらへんは関係ないんじゃないの?
なんのエラーか知らんけど
なんのエラーか知らんけど
731デフォルトの名無しさん (ワッチョイ 693d-gAma)
2017/08/08(火) 22:12:27.27ID:wQlpajLt0 DB操作はClose通らない処理を挟んでしまって二重にOpenするとかで苦労した事があるなぁ。
それが原因ならクラス作ってデストラクタにClose書いておけば忘れなくて便利。
それが原因ならクラス作ってデストラクタにClose書いておけば忘れなくて便利。
732デフォルトの名無しさん (ワッチョイ 1311-/F0N)
2017/08/08(火) 23:58:40.83ID:cql1o/lA0 >>723
> Date型で割るとエラーになると言う点と
俺はそんなことは問題にしてない
意味のない演算ができてしまう言語なんて珍しくないし
> あとどうでもいいんだが時刻で割ると言う点の
どうでもいいなら放置しておけば?
> Date型で割るとエラーになると言う点と
俺はそんなことは問題にしてない
意味のない演算ができてしまう言語なんて珍しくないし
> あとどうでもいいんだが時刻で割ると言う点の
どうでもいいなら放置しておけば?
733デフォルトの名無しさん (ワッチョイ a16f-/FH4)
2017/08/09(水) 09:22:17.50ID:Qcpwsibl0734デフォルトの名無しさん (ワッチョイ 0b06-gAma)
2017/08/09(水) 10:44:54.73ID:F6AoeH710735デフォルトの名無しさん (バットンキン MMe3-crsy)
2017/08/09(水) 13:14:09.12ID:b9k/R7FPM Sexel-VBA
736デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/09(水) 13:28:47.67ID:MinGKowar737デフォルトの名無しさん (ワッチョイ 5323-/FH4)
2017/08/09(水) 13:56:39.55ID:LTZc9U500 >>733
ありがとうございます。帰宅後、やってみます。
ありがとうございます。帰宅後、やってみます。
738デフォルトの名無しさん (バットンキン MMe3-crsy)
2017/08/09(水) 18:28:18.83ID:b9k/R7FPM >>737
いいってことよ(´・ω・`)b
いいってことよ(´・ω・`)b
739デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/10(木) 22:43:19.50ID:JdKfuZ5y0740デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/10(木) 23:14:30.24ID:JdKfuZ5y0 ちなみに、EOFがtrueじゃありませんとか、
IZAMが有効じゃありませんとか、
そんなやつです。
IZAMが有効じゃありませんとか、
そんなやつです。
741デフォルトの名無しさん (ワッチョイ 1a06-KsLg)
2017/08/10(木) 23:22:56.42ID:VgLhJXRi0 >EOFがtrueじゃありません
俺もmysqlにアクセスするのを作ってる段階でそういうのを出すことはあるよ。けど、そういうのここで
チンタラチンタラ言っててもソースがない以上こちら側ではどうしようもないわけで。
俺もmysqlにアクセスするのを作ってる段階でそういうのを出すことはあるよ。けど、そういうのここで
チンタラチンタラ言っててもソースがない以上こちら側ではどうしようもないわけで。
742デフォルトの名無しさん (ワッチョイ 973d-KsLg)
2017/08/10(木) 23:45:49.59ID:SqJ4/4zg0743デフォルトの名無しさん (ワッチョイ 97e4-kh1+)
2017/08/11(金) 04:12:54.28ID:+mgolt3u0 そもそも何のDB(ドライバ)かすら書いてないし
どうやってレコードセット開いてupdateしたのか書いてないし
レスするだけ無駄な気がするぜ
>EOFがtrueじゃありません
そんなエラー見たことないな。EOFがFalseなら普通にデータ取れてるってことじゃねえの?
EOFがTrue前提の操作が浮かばんが、何しようとしたらそんなエラーになるんだよ
>IZAMが有効じゃありません
IZAMって何さ?ビジュアル系バンドメンバーかよ
どうやってレコードセット開いてupdateしたのか書いてないし
レスするだけ無駄な気がするぜ
>EOFがtrueじゃありません
そんなエラー見たことないな。EOFがFalseなら普通にデータ取れてるってことじゃねえの?
EOFがTrue前提の操作が浮かばんが、何しようとしたらそんなエラーになるんだよ
>IZAMが有効じゃありません
IZAMって何さ?ビジュアル系バンドメンバーかよ
744デフォルトの名無しさん (オッペケ Srbb-CFLX)
2017/08/11(金) 07:44:16.53ID:xHfWhpghr >>743
> レスするだけ無駄な気がするぜ
いいんだよ、それで。雑談が目的なんだから。
答えを出す必要はない。
>> EOFがtrueじゃありません
> そんなエラー見たことないな。
ADOでレコードセットを操作していると、ときたま現れるエラー。
クエリ結果にレコードが1件もない場合とかに出たりする。
> レスするだけ無駄な気がするぜ
いいんだよ、それで。雑談が目的なんだから。
答えを出す必要はない。
>> 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
クラス内に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
746デフォルトの名無しさん (アウアウエー Sa52-nTDo)
2017/08/11(金) 11:47:54.41ID:H2cGDcz1a >>745
なんでcolTRをclassnameで取得してんの?
なんでcolTRをclassnameで取得してんの?
747デフォルトの名無しさん (アウアウエー Sa52-nTDo)
2017/08/11(金) 11:50:59.38ID:H2cGDcz1a あと並べて書いた場合でも変数一つずつ型指定してかないとvariantになるよ、vbaの場合
748デフォルトの名無しさん (ワッチョイ a379-AZXx)
2017/08/11(金) 13:07:34.65ID:11Y29+uU0 吉岡美穂のカキタレ
749デフォルトの名無しさん (ワッチョイ 0e4b-J8zh)
2017/08/11(金) 13:38:42.84ID:dnJD889I0 >>747
vbaでieを操作を読んでもググってもあり理解出来なくてとりあえず作りながら覚えようと
コピペしたものを一部変えました
tr、tdは特定出来ずclassが特定出来るのですがどのように書き換えればよろしいのでしょうか?
vbaでieを操作を読んでもググってもあり理解出来なくてとりあえず作りながら覚えようと
コピペしたものを一部変えました
tr、tdは特定出来ずclassが特定出来るのですがどのように書き換えればよろしいのでしょうか?
750デフォルトの名無しさん (ワッチョイ 0391-8lAF)
2017/08/11(金) 13:56:55.44ID:kj6/PAcR0751デフォルトの名無しさん (アウアウエー Sa52-nTDo)
2017/08/11(金) 14:32:36.47ID:yOhrxWpUa752デフォルトの名無しさん (ワッチョイ 0e6d-1q0p)
2017/08/11(金) 14:42:02.39ID:hvV/hgBn0 例えば下のように文字と数字が並んでいて、文字を数字の横に持って行くにはどうしたらいいですか?
12
q
15
b
10
c
↓
12 q
15 b
10 c
12
q
15
b
10
c
↓
12 q
15 b
10 c
753デフォルトの名無しさん (ワッチョイ b66d-Var+)
2017/08/11(金) 14:45:37.73ID:fD8DkUIg0 >>745
生のjsそのまま使うのはめっちゃめんどくさいから、ラッパーを探したほうが良い
で、探した。以下のサイトのラッパー使えば多分すぐに出来ると思う
http://language-and-engineering.hatenablog.jp/entry/20090710/p1
生のjsそのまま使うのはめっちゃめんどくさいから、ラッパーを探したほうが良い
で、探した。以下のサイトのラッパー使えば多分すぐに出来ると思う
http://language-and-engineering.hatenablog.jp/entry/20090710/p1
754デフォルトの名無しさん (ワッチョイ b66d-Var+)
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
必ず数字と英語が入れ替わりで来るなら以下のマクロ
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
755デフォルトの名無しさん (ワッチョイ 0e6d-1q0p)
2017/08/11(金) 15:01:16.16ID:hvV/hgBn0756デフォルトの名無しさん (ワッチョイ 0391-8lAF)
2017/08/11(金) 15:12:27.50ID:kj6/PAcR0757デフォルトの名無しさん (ワッチョイ 0e6d-1q0p)
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
今考えてるのは以下の感じです
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
758デフォルトの名無しさん (ワッチョイ b66d-YQfT)
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
こう
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
759デフォルトの名無しさん (ワッチョイ b66d-YQfT)
2017/08/11(金) 15:33:16.05ID:fD8DkUIg0760デフォルトの名無しさん (ワッチョイ 0391-8lAF)
2017/08/11(金) 15:48:56.25ID:kj6/PAcR0 >>759
数字を含む文字列をどっちに判別するかによるんじゃね
数字を含む文字列をどっちに判別するかによるんじゃね
761デフォルトの名無しさん (アウアウエー Sa52-nTDo)
2017/08/11(金) 16:02:01.36ID:yOhrxWpUa762デフォルトの名無しさん (ワッチョイ 4eaa-Kd4M)
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 の後ろに、半角空白が入っているけど
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 の後ろに、半角空白が入っているけど
763デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/11(金) 20:25:45.30ID:Nl+bIgs10764デフォルトの名無しさん (ワッチョイ 1a06-KsLg)
2017/08/11(金) 20:45:51.85ID:2aci5jkj0765デフォルトの名無しさん (ワッチョイ 97e4-GDrG)
2017/08/11(金) 20:48:59.91ID:+mgolt3u0 >>744
>クエリ結果にレコードが1件もない場合とかに出たりする。
それ普通はEOFがTrueになるはずだけど
MySQLのドライバでそうならなかったりするのか?ドライバのバグじゃねえの?
それどうやってゼロ件かどうか判定するんだ?
>クエリ結果にレコードが1件もない場合とかに出たりする。
それ普通はEOFがTrueになるはずだけど
MySQLのドライバでそうならなかったりするのか?ドライバのバグじゃねえの?
それどうやってゼロ件かどうか判定するんだ?
766デフォルトの名無しさん (ワッチョイ 97e4-GDrG)
2017/08/11(金) 21:03:31.05ID:+mgolt3u0767デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/11(金) 21:18:12.65ID:Nl+bIgs10768デフォルトの名無しさん (ワッチョイ 1a06-KsLg)
2017/08/11(金) 21:29:48.64ID:2aci5jkj0769デフォルトの名無しさん (ワッチョイ 0391-8lAF)
2017/08/11(金) 22:03:13.38ID:kj6/PAcR0770デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
2017/08/11(金) 22:06:37.63ID:mfxycmdp0 Excel(VBA)でデータベース接続ってどういうのが一般的なんでしょうか?
自分は専ら生ODBCを叩いているので他人のことが気になってる。
自分は専ら生ODBCを叩いているので他人のことが気になってる。
771デフォルトの名無しさん (ワッチョイ 0391-8lAF)
2017/08/11(金) 22:11:37.85ID:kj6/PAcR0772デフォルトの名無しさん (ワッチョイ b66d-hH8V)
2017/08/11(金) 22:15:41.96ID:fD8DkUIg0 そもそもexcelでデータベースに接続しないな
全部accessで済ませてしまう
全部accessで済ませてしまう
773デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
2017/08/11(金) 22:36:29.71ID:mfxycmdp0 >>772
VBAとODBCドライバしか使わないのでExcel, Outlook, Word, Access その他 Officeなら何でもOKにはしてる。
ExcelとOutlookくらいしか使わないけどね。
Outlookはメールで「このテーブルをこう読んだときに〜」とか連絡を受けたときにそのままVBEを開いて使ったりとか。
VBAとODBCドライバしか使わないのでExcel, Outlook, Word, Access その他 Officeなら何でもOKにはしてる。
ExcelとOutlookくらいしか使わないけどね。
Outlookはメールで「このテーブルをこう読んだときに〜」とか連絡を受けたときにそのままVBEを開いて使ったりとか。
774デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/11(金) 23:12:57.71ID:Nl+bIgs10775デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
2017/08/11(金) 23:35:39.96ID:mfxycmdp0 >>774
乗り換えた、って何から?
乗り換えた、って何から?
776デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/12(土) 00:49:01.81ID:RTe2mUwF0 >>775
外部データ取り込み(Microsoft Query)からです。
シートの指定が、なぜか[シート名$]じゃなくて`シート名$`とか、
データの出力開始列にコマンドボタンを配置すると、ボタンを押した瞬間、
ボタンが横に逃げるとか(離すと元の位置に戻ってくる)、
意味不明な軽い嫌がらせがありますけど。
外部データ取り込み(Microsoft Query)からです。
シートの指定が、なぜか[シート名$]じゃなくて`シート名$`とか、
データの出力開始列にコマンドボタンを配置すると、ボタンを押した瞬間、
ボタンが横に逃げるとか(離すと元の位置に戻ってくる)、
意味不明な軽い嫌がらせがありますけど。
777デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
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
日付型 (Date) の変数は、IEEE 64 ビット (8 バイト) の浮動小数点数の変数です。
西暦 100 年 1 月 1 日〜西暦 9999 年 12 月 31 日の範囲の日付と、0:00:00 〜 23:59:59 の
範囲の時刻を表すことができます。
でも1900年以前のDate型変数をワークシートに貼ろうと思ってもできなくて、
実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。
ってエラーが出てくるじゃん。これ控えめにいtt
778デフォルトの名無しさん (ワッチョイ 1a06-KsLg)
2017/08/12(土) 11:02:43.67ID:q63a26xE0 mysqlとodbc経由で接続している。以前はSQLServerとでもやってた。他にもポスグレやoracleとやってる人間も沢山居るだろ。
んでそんな文句言ってるのはお前だけ。
お前のソースがバグだらけなんだよ。けどソースは示さないんだろ?一人勝手にやってろ
んでそんな文句言ってるのはお前だけ。
お前のソースがバグだらけなんだよ。けどソースは示さないんだろ?一人勝手にやってろ
779デフォルトの名無しさん (ワッチョイ 5a6c-9RpY)
2017/08/12(土) 11:56:57.58ID:TCrjrl3y0780デフォルトの名無しさん (オッペケ Srbb-paLu)
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
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
781デフォルトの名無しさん (オッペケ Srbb-CFLX)
2017/08/12(土) 13:38:05.91ID:IpuKNNKZr >>779
満足してもらえたようで良かったです。
満足してもらえたようで良かったです。
782デフォルトの名無しさん (ワッチョイ 4eaa-j2BT)
2017/08/12(土) 15:49:33.01ID:s2RcRfJ50 >>.777.
それはVBAの問題じゃない
EXCELで扱える日付範囲がVBAより狭いだけ
それはVBAの問題じゃない
EXCELで扱える日付範囲がVBAより狭いだけ
783デフォルトの名無しさん (ワッチョイ ab09-KsLg)
2017/08/13(日) 10:20:51.63ID:YIp/txnN0 VABでIEを開いて、
情報を取ってるんですが、
ie.Visible = False
で、
画面でないようにしてるけど、
これは、どこか裏で開いてる?
それとも、消えてくれるのかな、
Falseで画面出さない時は、
IE閉じる処理はしなくてもいいでしょうか?
情報を取ってるんですが、
ie.Visible = False
で、
画面でないようにしてるけど、
これは、どこか裏で開いてる?
それとも、消えてくれるのかな、
Falseで画面出さない時は、
IE閉じる処理はしなくてもいいでしょうか?
784デフォルトの名無しさん (ワッチョイ 0e6f-aEKd)
2017/08/13(日) 10:33:34.50ID:ua4YvzFl0 よくわからんけど、WBEクエリってので、
画面出さずに取れませんか。
画面出さずに取れませんか。
785デフォルトの名無しさん (ワッチョイ ab09-KsLg)
2017/08/13(日) 10:35:11.41ID:YIp/txnN0786デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
2017/08/13(日) 10:45:28.39ID:B6edc+jF0787デフォルトの名無しさん (オッペケ Srbb-CFLX)
2017/08/13(日) 11:53:36.55ID:TIsdzDXzr788デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
2017/08/13(日) 12:24:29.35ID:B6edc+jF0789デフォルトの名無しさん (ワッチョイ ab09-KsLg)
2017/08/13(日) 12:33:27.11ID:YIp/txnN0790デフォルトの名無しさん (ワッチョイ 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
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
791デフォルトの名無しさん (アウアウカー Sac3-K37d)
2017/08/16(水) 21:36:07.94ID:DoB/Yq6sa >>790
昔作った簡易ツールなんだけどさ、これで指定のURLのページのDOM情報を全部ごっそり取れるから試して見たら。
標準モジュールに張り付けて保存して閉じた後で再度開くとアドインリボンにボタンが2つ出来る。
https://pastebin.com/KkNL9u4G
昔作った簡易ツールなんだけどさ、これで指定のURLのページのDOM情報を全部ごっそり取れるから試して見たら。
標準モジュールに張り付けて保存して閉じた後で再度開くとアドインリボンにボタンが2つ出来る。
https://pastebin.com/KkNL9u4G
792デフォルトの名無しさん (アウアウカー Sac3-K37d)
2017/08/16(水) 22:17:10.08ID:DoB/Yq6sa 一点忘れてた。
このツール、取ってくるページが重いと時間がかかる。
あんまり遅いときはBreakしてくれ。
このツール、取ってくるページが重いと時間がかかる。
あんまり遅いときはBreakしてくれ。
793デフォルトの名無しさん (ワッチョイ 9aaa-W16a)
2017/08/16(水) 22:19:22.62ID:6PDnHTyR0 CreateObject("InternetExplorer.Application")
なんてしたくないからMSXML2.XMLHTTPとか使うんじゃないのか?
なんてしたくないからMSXML2.XMLHTTPとか使うんじゃないのか?
794デフォルトの名無しさん (アウアウカー Sac3-K37d)
2017/08/16(水) 22:53:28.23ID:DoB/Yq6sa795デフォルトの名無しさん (オッペケ Sr4d-o0Er)
2017/08/17(木) 06:21:37.08ID:5/l7qEpXr796デフォルトの名無しさん (ワッチョイ 7973-DQO+)
2017/08/17(木) 08:34:41.30ID:CrDCSFke0 お前の過去とか知らんし、判ってる事なら修正版を出してはくれまいか
797デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
2017/08/17(木) 17:22:04.13ID:im50xVqsa798デフォルトの名無しさん (ワッチョイ 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
ありがとうございます。でもごっそりは重そうなので出来れば自作できればと。
ググるとこれが良さそうですが
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
799デフォルトの名無しさん (ワッチョイ 93aa-jLVh)
2017/08/17(木) 21:06:10.14ID:wc7ZtjOc0800デフォルトの名無しさん (アウアウカー Sa1d-R5c0)
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から情報取ってきて問題無いんだろうね。
岡崎図書館の例にもある通り、不正アクセスとして捕まるのを避けるために先方には確認してる?
そうじゃなくて、そのツールでとってこれるのは指定の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のようなインテリセンスが使える開発環境のことには全くふれていません。
ところでJavascriptに興味を持ちメモ帳でJavascriptをはじめました。
これでExcelVBAのようにコード書くときにインテリセンスで入力補助ができるツールってないんですか?
メモ帳だから当然そんなのできません。
Javascriptの入門書はいつくか読んでますがExcelVBAのようなインテリセンスが使える開発環境のことには全くふれていません。
802デフォルトの名無しさん (ワッチョイ 196f-jLVh)
2017/08/18(金) 00:33:09.65ID:SqU1frnT0 JavaScriptスレでどうぞ
803デフォルトの名無しさん (オッペケ Sr4d-uth0)
2017/08/18(金) 00:52:10.12ID:fGYkVGPpr ふつーにVSでいいんじゃね?
804デフォルトの名無しさん (ワッチョイ dbaa-jLVh)
2017/08/18(金) 02:47:26.07ID:2Rkfa1Rx0 うむ
805デフォルトの名無しさん (ワッチョイ b111-Ovym)
2017/08/18(金) 06:08:15.32ID:Pl3jF8BM0 フリーのテキストエディタなんて腐るほど調べりゃ出てくるだろ
806デフォルトの名無しさん (オッペケ Sr4d-uth0)
2017/08/18(金) 06:32:04.53ID:fGYkVGPpr >>805
インテリセンスはどうすんの?
インテリセンスはどうすんの?
807801 (ワッチョイ 9352-jLVh)
2017/08/18(金) 06:47:56.97ID:r9Ad8ntQ0808デフォルトの名無しさん (ワッチョイ 5b6d-/TKy)
2017/08/18(金) 06:56:08.49ID:uergmdKS0 回答率が低い方で聞くのは時間の無駄では?
NGにするから何でもいいけど
NGにするから何でもいいけど
809デフォルトの名無しさん (アウアウエー Sa23-Ovym)
2017/08/18(金) 07:07:24.51ID:k8zOSHbua■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★3 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- なんかさっきからフェイロンのステージ曲が頭から離れないんだが
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ3🧪
- 【安倍晋三】中国船4隻が領海侵入 [828897501]
- えちえち女だけど
- 【画像】小泉防衛大臣、とんでもない写真が発掘される [834922174]
- お
