!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:T3ylemnb0630デフォルトの名無しさん (ワッチョイ 6623-V1Wy)
2017/07/27(木) 23:27:06.45ID:60P4ZjAM0 >>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。
よく考えたら、参照ならその前にエラーを吐きそう。
ためしに
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。
631デフォルトの名無しさん (ワッチョイ 0fe4-Tef8)
2017/07/27(木) 23:56:32.00ID:aAe8+IMH0 >>628
まず、そのユーザーでOutlookはちゃんと動いてメールの送受信できるのか?
まず、そのユーザーでOutlookはちゃんと動いてメールの送受信できるのか?
632620 (アウーイモ MM9f-6wLz)
2017/07/28(金) 00:24:24.58ID:EJW5hZGgM633620 (アウアウアー Sab6-6wLz)
2017/07/28(金) 04:23:09.57ID:Kx1QSHwna 皆様ありがとうございました!
理由はわかりませんが突然できるようになりました!
本当にご迷惑おかけしました!
理由はわかりませんが突然できるようになりました!
本当にご迷惑おかけしました!
634デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/07/28(金) 04:32:44.73ID:ccATQH/dr >>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
ごめん。コード間違ってた。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
635デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/07/28(金) 04:34:16.17ID:ccATQH/dr 一歩遅かったか…orz
637デフォルトの名無しさん (ワッチョイ db11-AITk)
2017/07/28(金) 23:02:57.85ID:+oxMyCi10 win10
excel2016で
MSXML2.XMLHTTPを使って
responseTextでgoogle検索結果のページを取得しようとすると、
responseTextで返ってきたものが、今までwin7 excel2007などで返ってきたものと全然違うんですが、win7の時のように受け取る方法ってありませんか?
win7の時はhtmlそのものが返ってきてましたがwin10では最初の方が判読困難です。
やろうとしていることは、vbaでgoogle画像検索の結果の画像をセルに表示しようと思ってます。
excel2016で
MSXML2.XMLHTTPを使って
responseTextでgoogle検索結果のページを取得しようとすると、
responseTextで返ってきたものが、今までwin7 excel2007などで返ってきたものと全然違うんですが、win7の時のように受け取る方法ってありませんか?
win7の時はhtmlそのものが返ってきてましたがwin10では最初の方が判読困難です。
やろうとしていることは、vbaでgoogle画像検索の結果の画像をセルに表示しようと思ってます。
638デフォルトの名無しさん (ワッチョイ 6aaa-V1Wy)
2017/07/30(日) 10:16:32.82ID:WZc9I6Vq0 そういえば responseBody しか使ったことないなあ
(adTypeBinary な ADODB オブジェクトに Write するために)
(adTypeBinary な ADODB オブジェクトに Write するために)
639デフォルトの名無しさん (ワッチョイ db11-AITk)
2017/07/30(日) 12:41:33.40ID:ND/Yhbfk0 すみません、いろいろ試してたんですが、google以外ではちゃんと同じようなものを受け取れてました。
googleでは環境によって返すものが違うのかもしれません。
その先はスレ違いになるので自分でいろいろやってみます。ありがとうございました。
googleでは環境によって返すものが違うのかもしれません。
その先はスレ違いになるので自分でいろいろやってみます。ありがとうございました。
640デフォルトの名無しさん (ワッチョイ 666d-fl5W)
2017/07/30(日) 15:24:50.24ID:LIjBkUDz0 api以外でgoogleの検索結果を取得しないほうがいい
すぐにアクセス禁止になる
すぐにアクセス禁止になる
641デフォルトの名無しさん (アウーイモ MM9f-GszO)
2017/08/02(水) 00:57:39.97ID:O3oN8G+MM 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
↑ローカルのアドレス帳から表示名を検索しメアドを返す関数です。これはうまくいくのですが、
↓下のグローバルアドレス帳を検索するものがうまくいきません。エラーメッセージは「オブジェクトはこのプロパティまたはメソッドをサポートしていません」です。
どなたか解決法をご教示ください。よろしくお願いします。
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
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
↑ローカルのアドレス帳から表示名を検索しメアドを返す関数です。これはうまくいくのですが、
↓下のグローバルアドレス帳を検索するものがうまくいきません。エラーメッセージは「オブジェクトはこのプロパティまたはメソッドをサポートしていません」です。
どなたか解決法をご教示ください。よろしくお願いします。
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
642デフォルトの名無しさん (アウアウカー Safb-IFL0)
2017/08/02(水) 02:57:39.31ID:9fnjiac4a >>641
名前長いな
名前長いな
643デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 06:22:21.40ID:Yub86NHXr 少々長くてもわかりやすい名前をつけるのが基本だからね。
ハンガリアンよりは全然いい。
ハンガリアンよりは全然いい。
644デフォルトの名無しさん (ワッチョイ 0f3d-HJpE)
2017/08/02(水) 06:31:28.66ID:SLRN4nNP0 少々長くても分かりやすい名前を付ける、それがハンガリアン記法
想像してるのはたぶんシステムハンガリアン記法
想像してるのはたぶんシステムハンガリアン記法
645デフォルトの名無しさん (ワキゲー MMa2-lmxC)
2017/08/02(水) 07:20:47.27ID:Mrcj6vwlM 変数はAddressなのにメソッド名はAdrで統一してないのは理由あるの?
646デフォルトの名無しさん (アークセー Sxb3-h9ZP)
2017/08/02(水) 07:40:08.64ID:ed9o3kBwx 変数名長いなぁ
olAppとかAdrListとかにすれば良いやん
olAppとかAdrListとかにすれば良いやん
647デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 07:40:35.97ID:Yub86NHXr648デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 07:44:09.62ID:Yub86NHXr649デフォルトの名無しさん (ワッチョイ 666d-V1Wy)
2017/08/02(水) 07:44:43.49ID:boOv7Sns0650デフォルトの名無しさん (ドコグロ MM22-gqKx)
2017/08/02(水) 08:11:17.19ID:i5+f8wczM >>649
参照設定してないだけじゃね?
参照設定してないだけじゃね?
651デフォルトの名無しさん (ワッチョイ 666d-F3YI)
2017/08/02(水) 08:56:23.68ID:boOv7Sns0652デフォルトの名無しさん (ワッチョイ ea2e-ZO1u)
2017/08/02(水) 09:10:48.85ID:Y/LidHA/0 >>650
649は店に来たお客さんのつもりのようだから、まともに相手する必要はないよ
649は店に来たお客さんのつもりのようだから、まともに相手する必要はないよ
653デフォルトの名無しさん (オイコラミネオ MMb6-cdfR)
2017/08/02(水) 11:50:02.54ID:a22879YUM 単なる自己満足なんだからそこまで突っ込むなよ
どうせ永遠に平行線なんだろ?
どうせ永遠に平行線なんだろ?
654デフォルトの名無しさん (ワキゲー MMa2-lmxC)
2017/08/02(水) 12:08:29.03ID:pZ2w6jYsM655デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 12:26:23.95ID:Yub86NHXr656デフォルトの名無しさん (ワキゲー MMa2-lmxC)
2017/08/02(水) 12:33:57.68ID:x+1N4OhAM >>655
言語関係なくただのキャメルケースだよ
言語関係なくただのキャメルケースだよ
657641 (オイコラミネオ MMb6-Cs75)
2017/08/02(水) 13:14:55.44ID:1uis+HfsM658デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 15:50:17.32ID:Yub86NHXr >>656
いや、だからメソッドをキャメルケースにするのは何流なのかなと。
いや、だからメソッドをキャメルケースにするのは何流なのかなと。
659デフォルトの名無しさん (アウアウエー Sae2-kGGk)
2017/08/02(水) 16:45:06.13ID:pmz5Ebvba >>658
javascriptはキャメルだと思う
javascriptはキャメルだと思う
660641 (オイコラミネオ MMb6-Cs75)
2017/08/02(水) 16:56:06.29ID:uQ5PKG3iM661デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 18:07:23.96ID:Yub86NHXr662デフォルトの名無しさん (ドコグロ MM22-gqKx)
2017/08/02(水) 18:28:23.95ID:i5+f8wczM >>660
Outlook VBA スレないからまあここでもいいと思うが仕事中に軽くググった範疇だといい方法が見つからん
> Set olAddressEntry = olAddressEntries.Items.Find("[Email1DisplayName] = '" & str & "'") '←この行でエラー
Items.Find( ) は Folder オブジェクトしか持ってないからここでエラーになるのは当然
グローバルアドレス帳(Global Address List)は GetGlobalAddressList( ) で取得できるし内容も入っているんだが取得したリストの GetContactsFolder( ) を呼び出しても Nothing しか返ってこない
何か設定が要るのか根本的に頓珍漢なのかさっぱりわからん
Outlook VBA スレないからまあここでもいいと思うが仕事中に軽くググった範疇だといい方法が見つからん
> Set olAddressEntry = olAddressEntries.Items.Find("[Email1DisplayName] = '" & str & "'") '←この行でエラー
Items.Find( ) は Folder オブジェクトしか持ってないからここでエラーになるのは当然
グローバルアドレス帳(Global Address List)は GetGlobalAddressList( ) で取得できるし内容も入っているんだが取得したリストの GetContactsFolder( ) を呼び出しても Nothing しか返ってこない
何か設定が要るのか根本的に頓珍漢なのかさっぱりわからん
663デフォルトの名無しさん (オッペケ Srb3-ZCwv)
2017/08/02(水) 19:58:09.08ID:Yub86NHXr664620 (アウアウアー Sa83-zhMW)
2017/08/03(木) 06:23:52.11ID:y8hiM9O7a >>662
ありがとうございます!勉強になります。
> グローバルアドレス帳(Global Address List)は GetGlobalAddressList( ) で取得できるし内容も入っているんだが
↑その内容というのは、debug.printで見ることはできますでしょうか??
ありがとうございます!勉強になります。
> グローバルアドレス帳(Global Address List)は GetGlobalAddressList( ) で取得できるし内容も入っているんだが
↑その内容というのは、debug.printで見ることはできますでしょうか??
665デフォルトの名無しさん (ワッチョイ 3b6d-dE0h)
2017/08/03(木) 07:51:33.57ID:T58VKPgl0666デフォルトの名無しさん (ドコグロ MM4b-/F0N)
2017/08/03(木) 08:16:18.57ID:8PSWLe0hM >>664
Set GlobalAddressList = Namespace.GlobalAddressList( )
Debug.Print GlobalAddressList.AddressEntries.Item(1).Name
とかすれば見れるよ
全件エクスポートするサンプルとかあるので見てみて
https://www.slipstick.com/developer/code-samples/export-exchange-gal-excel/
Set GlobalAddressList = Namespace.GlobalAddressList( )
Debug.Print GlobalAddressList.AddressEntries.Item(1).Name
とかすれば見れるよ
全件エクスポートするサンプルとかあるので見てみて
https://www.slipstick.com/developer/code-samples/export-exchange-gal-excel/
667デフォルトの名無しさん (オイコラミネオ MM4b-1llH)
2017/08/04(金) 13:47:28.51ID:2SBD/wKoM バージョンが上がって日付時刻型の除算ができなくなりました。バリアント型にしても空になります。
対応方法はありませんでしょうか?
また、こういう仕様変更はどこで確認できますか?
対応方法はありませんでしょうか?
また、こういう仕様変更はどこで確認できますか?
668デフォルトの名無しさん (スプッッ Sdaf-pRZg)
2017/08/04(金) 19:09:28.11ID:HbiPV4wFd669デフォルトの名無しさん (ワッチョイ 3b6d-dE0h)
2017/08/04(金) 19:49:21.85ID:EaU+sIDF0 日付じゃなくて時刻(時間)で除算したいのでは?
1950/1/1を2で割って1925/1/1…なんてことはしないだろう
>>667
office 更新プログラム等で検索
https://support.office.com/ja-jp/article/Office-%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-a118ec61-f007-492f-bfa5-5a6f764d5471
1950/1/1を2で割って1925/1/1…なんてことはしないだろう
>>667
office 更新プログラム等で検索
https://support.office.com/ja-jp/article/Office-%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-a118ec61-f007-492f-bfa5-5a6f764d5471
670デフォルトの名無しさん (ワッチョイ cf11-1llH)
2017/08/04(金) 20:11:22.22ID:CfFJ59fY0 時刻ですね
671デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/05(土) 08:53:42.25ID:3n3qQbM6r672デフォルトの名無しさん (ワッチョイ a16f-/FH4)
2017/08/05(土) 09:48:36.05ID:7J5Re5fS0 2010でも時刻の割り算できたけど?
673デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/05(土) 10:09:48.61ID:3n3qQbM6r じゃあ、この話題はこれで終わりだな。
674デフォルトの名無しさん (ワッチョイ cf11-4x8g)
2017/08/05(土) 11:28:42.39ID:J2w+rLAY0 エラーコードは51
データ型が日付時刻の除算はエラーでる
データ型が日付時刻の除算はエラーでる
675デフォルトの名無しさん (ワッチョイ 3b6d-rm2g)
2017/08/05(土) 12:58:50.71ID:kXEyZiX90 Sub foo()
bar = Date / 2
Debug.Print bar
End Sub
2010、win7だけどエラーでない
bar = Date / 2
Debug.Print bar
End Sub
2010、win7だけどエラーでない
676デフォルトの名無しさん (ワッチョイ cf11-4x8g)
2017/08/05(土) 13:00:51.75ID:J2w+rLAY0 >>675
時刻同士で割って見て
時刻同士で割って見て
677デフォルトの名無しさん (ワッチョイ 2b11-ysrI)
2017/08/05(土) 13:07:29.37ID:j7okUzoP0 ダブルにキャストしてから計算したら
ずれるのかな?
ずれるのかな?
678デフォルトの名無しさん (ワッチョイ 3b6d-iBdB)
2017/08/05(土) 13:08:47.84ID:kXEyZiX90679デフォルトの名無しさん (ワッチョイ 8351-FJki)
2017/08/05(土) 13:35:11.02ID:1ncAb1Zc0680デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/05(土) 16:53:51.52ID:3n3qQbM6r 質問者からのエラーコードの提示がないので無駄な回答だな。
681デフォルトの名無しさん (ワッチョイ 036f-/FH4)
2017/08/05(土) 18:06:14.68ID:fC/MwjWZ0 時刻を時刻で割る意義は? どんな分野で必要と成るんだ? それは知りたい
682デフォルトの名無しさん (アウーイモ MMb3-7CC5)
2017/08/05(土) 18:54:05.96ID:UH683s5QM バージョンが上がって…
とか言いながらバージョンを書かない馬鹿
指摘されても書かないという
とか言いながらバージョンを書かない馬鹿
指摘されても書かないという
683デフォルトの名無しさん (ワッチョイ ad91-j7Kr)
2017/08/05(土) 18:58:41.09ID:NpEI7ikB0 >>681
8時間の就業時間の間に25分掛かる作業を何回できるか見積るとか
8時間の就業時間の間に25分掛かる作業を何回できるか見積るとか
684デフォルトの名無しさん (ワッチョイ 83ed-qC7T)
2017/08/05(土) 19:00:17.07ID:90gBDUFU0 しょうもない質問はほっとけばいいんじゃ?
それとも答えたくてウズウズしてる感じ?
それとも答えたくてウズウズしてる感じ?
685デフォルトの名無しさん (ワッチョイ 0b23-WlLB)
2017/08/05(土) 19:45:20.37ID:ze59kfDf0 >>683
無理くり理由をこじつけてもその程度だよな…ほんと何がしたいんだろうな
無理くり理由をこじつけてもその程度だよな…ほんと何がしたいんだろうな
686デフォルトの名無しさん (アウーイモ MMb3-7CC5)
2017/08/05(土) 20:31:20.41ID:2UigV3EYM 質問するのにバージョンも書かない
ID変わってるのに名無しのまま
環境書けと言ってるのに無視
こんな処理する理由は?と聞かれても無視
こんな人間の生産物を現場で使う恐怖
ID変わってるのに名無しのまま
環境書けと言ってるのに無視
こんな処理する理由は?と聞かれても無視
こんな人間の生産物を現場で使う恐怖
687デフォルトの名無しさん (ワッチョイ 036f-/FH4)
2017/08/05(土) 20:47:12.34ID:fC/MwjWZ0 それは時刻で無くて時間だろ と
688デフォルトの名無しさん (オッペケ Sr1f-bQt4)
2017/08/05(土) 23:20:40.34ID:3n3qQbM6r689デフォルトの名無しさん (ワッチョイ 0b06-gAma)
2017/08/05(土) 23:56:01.89ID:dqSa99my0 質問者が軌道修正のために必要な情報を提供しないってのはここではザラにあることだろ。
そんなのによく付き合ってられんなー
そんなのによく付き合ってられんなー
690デフォルトの名無しさん (ワッチョイ 03aa-dE0h)
2017/08/06(日) 00:12:38.56ID:7dbJmn2Z0 質問室じゃねえんだよ
691デフォルトの名無しさん (オッペケ Srd9-31he)
2017/08/06(日) 12:22:25.32ID:hXGNAkd3r また教えたがりの無能が暴れとるのかw
692デフォルトの名無しさん (アウアウカー Sac9-6G5k)
2017/08/06(日) 16:09:44.69ID:wM27hiyIa 暴れているのはただの煽り
693デフォルトの名無しさん (オイコラミネオ MM4b-4x8g)
2017/08/07(月) 16:41:33.18ID:/LwpuoG3M694デフォルトの名無しさん (ワッチョイ 49ad-mf2b)
2017/08/07(月) 16:59:56.15ID:PHW4jpUx0 >>693
地域オプションで先頭が数字以外になるような書式だったとか?
地域オプションで先頭が数字以外になるような書式だったとか?
695デフォルトの名無しさん (ワッチョイ 9be4-jyli)
2017/08/07(月) 19:35:32.88ID:9LTblBy60 >>693
環境書けよ
なんでエラー出たとか言うやつは環境書かないの
VBAの日付型は原則数値として扱えるはずので
日付型である事が原因でエラーが出るとは考えにくいけどなぁ
ちなみにエラー51のヘルプ(2007)には
>このエラーが Error ステートメントまたは Raise メソッドで生成されたものでなければ、Microsoft 製品テクニカル サポートに連絡して、メッセージが表示されたときの状況を知らせてください
ってあるから、ホントにエラー51出たならEXCELのバグの可能性もないではないな
環境書けよ
なんでエラー出たとか言うやつは環境書かないの
VBAの日付型は原則数値として扱えるはずので
日付型である事が原因でエラーが出るとは考えにくいけどなぁ
ちなみにエラー51のヘルプ(2007)には
>このエラーが Error ステートメントまたは Raise メソッドで生成されたものでなければ、Microsoft 製品テクニカル サポートに連絡して、メッセージが表示されたときの状況を知らせてください
ってあるから、ホントにエラー51出たならEXCELのバグの可能性もないではないな
696デフォルトの名無しさん (ワッチョイ 3b6d-VAa7)
2017/08/07(月) 20:09:27.70ID:PGc1T+jA0 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
エラーが起こるのは除算の分母側が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
697デフォルトの名無しさん (ワッチョイ ad91-3aaz)
2017/08/07(月) 20:36:42.78ID:5JtEoMJq0 Cdbl()で分母をDoubleにキャストすればいいだけじゃね?
698デフォルトの名無しさん (ワッチョイ 3b6d-VAa7)
2017/08/07(月) 20:39:22.17ID:PGc1T+jA0699デフォルトの名無しさん (ワッチョイ ad91-3aaz)
2017/08/07(月) 20:54:07.86ID:5JtEoMJq0 Time って
DateTime.Time プロパティのことだよな
Property Time As Variant
だからもともとVariant型
dim a As Time がエラーになるんだが
DateTime.Time プロパティのことだよな
Property Time As Variant
だからもともとVariant型
dim a As Time がエラーになるんだが
700デフォルトの名無しさん (ワッチョイ ad91-3aaz)
2017/08/07(月) 21:05:47.61ID:5JtEoMJq0 Date型はVBAのデータ型で"21:02:32"みたいな文字列なんじゃね?
だから計算するとエラーになる
分子にDate型を持ってきたときはDoubleに自動的にキャストされてると予想
だから計算するとエラーになる
分子にDate型を持ってきたときはDoubleに自動的にキャストされてると予想
701デフォルトの名無しさん (ワッチョイ 3b6d-9fgs)
2017/08/07(月) 21:13:12.34ID:PGc1T+jA0702デフォルトの名無しさん (ワッチョイ cf11-4x8g)
2017/08/07(月) 23:25:10.55ID:kmFs6vPH0 >>695
2007じゃエラーでないよ
2007じゃエラーでないよ
703デフォルトの名無しさん (ワッチョイ 03aa-dE0h)
2017/08/07(月) 23:33:20.74ID:elxVZ6u90 データベースのDATETIME型の値がそのままVBAのDate型変数にマップできれば楽なのに、
1900年以前だとうまくいかないのが残念だ。
1900年以前だとうまくいかないのが残念だ。
704デフォルトの名無しさん (ワッチョイ ad91-Mpnj)
2017/08/07(月) 23:39:54.26ID:5JtEoMJq0 >>702
2010とかだとエラーになる
分母にDate型を持ってくるときは
明示的にCdblでキャストすればエラーにならなくできる
MS側にバグレポートしたところで修正するかどうかはMS側次第
仕様変更したと言うかもしれない
2010とかだとエラーになる
分母にDate型を持ってくるときは
明示的にCdblでキャストすればエラーにならなくできる
MS側にバグレポートしたところで修正するかどうかはMS側次第
仕様変更したと言うかもしれない
705デフォルトの名無しさん (ワッチョイ 0b06-gAma)
2017/08/07(月) 23:59:58.12ID:HViBOnBI0 そろそろ日付時刻での除算の意味を教えて
706デフォルトの名無しさん (ワッチョイ 3b6d-EhRY)
2017/08/08(火) 00:39:23.26ID:sJaKEDtc0707デフォルトの名無しさん (ワッチョイ 2b11-ysrI)
2017/08/08(火) 00:57:18.12ID:ZuuTozCK0 キャストしてできるんならなんの問題もないだろう
キャストできない理由があるんじゃないのか?
まさか発想になかったわけじゃないだろうし
キャストできない理由があるんじゃないのか?
まさか発想になかったわけじゃないだろうし
708デフォルトの名無しさん (ワッチョイ 4f91-7CC5)
2017/08/08(火) 05:17:42.76ID:ttZKdV6P0 つーか質問者本人どこいったんじゃ
709デフォルトの名無しさん (オッペケ 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のエラーならそこらへんは関係ないんじゃないの?
なんのエラーか知らんけど
なんのエラーか知らんけど
■ このスレッドは過去ログ倉庫に格納されています
