VBAなんでも質問スレ Part2 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2015/05/21(木) 10:52:44.71ID:KLv0vQmm
VBAを使った質問ならなんでもござれ
本来の対象であるオフィスアプリを操作する以外の話もOK

ゲーム作り、Webアクセス、外部アプリの操作
COM(ActiveX)、Win32API、.NET Framework、DirectXなどなど
VBAで実行するものであればなんでも質問してください

VBAを開発環境としていろいろ作っちゃいましょう

前スレ

VBAなんでも質問スレ
http://peace.2ch.net/test/read.cgi/tech/1342087380/

関連スレ

Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1419718732/

Access VBA 質問スレ Part1
http://peace.2ch.net/test/read.cgi/tech/1328536426/

VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/

Excel総合相談所 118 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/bsoft/1430352555/
2015/09/07(月) 12:54:20.03ID:NloI4YQK
>>97
スライド数は20くらいでしょうか。
>>98
試してみましたが残念ながら出てしまいました。
困りました。
100デフォルトの名無しさん
垢版 |
2015/09/08(火) 02:01:39.32ID:m7aBfM8f
Windows10でie操作のマクロって動くのですか?
edgeは互換性あるわけでは無いですよね。
別にインストールするのですしょうか。

これでクリエイトするオブジェクトです。
CreateObject("InternetExplorer.Application")
2015/09/08(火) 12:06:16.04ID:9vjtcLlt
Windows10でもieは入っているようです
ttp://simply-assi.com/windows10ie/

なら 操作は可能でないかな?

Windows10持ってるなら テストしてみるべし
自分は Win8.1だから無理だけど
102デフォルトの名無しさん
垢版 |
2015/09/08(火) 14:37:39.47ID:m7aBfM8f
>>101
自分も実機がないのよね。
ieが残ってるいうのは聞いてるんだけど、7や8からのアップデートでも、10のクリーンインストールでも何の設定もしないでも動くのかなと。
テストしてる人とかいないかな?
2015/09/12(土) 05:23:11.91ID:dQMUA4G2
仮想用に買った10のUSBが今日届くから環境作り次第ObjIE試してみますん
104デフォルトの名無しさん
垢版 |
2015/10/07(水) 06:57:36.90ID:qdqRCjiZ
受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
2015/10/12(月) 22:50:34.44ID:Xy8ebFp6
今、こんなグラフがあるんですが、
http://i.imgur.com/BeOZor7.png

これを↓のようにするにはどのようにしたらいいんでしょうか?
http://i.imgur.com/7gXPOFG.png
2015/10/12(月) 23:30:39.75ID:DYP6asIc
>>105
何がしたいの?
回転させたいの?
2015/10/12(月) 23:35:13.73ID:oCa7NkmO
>>105
もう既に出来ているんじゃないか?
2015/10/12(月) 23:36:26.71ID:Xy8ebFp6
>>106
縦軸と横軸を入れ替えたいのです。
画像として90度回転させたいわけではないのです。
2015/10/12(月) 23:40:07.79ID:Xy8ebFp6
>>107
>>105は1枚めの画像を左に90度回転させ2枚めの画像としています。
現在、エクセルで1枚目のようなグラフがあるのですが、
縦軸と横軸を入れ替えたような(2枚目画像のような)グラフをエクセルで作りたいのです。
自分なりにいろいろ試したのですができませんでした。
2015/10/12(月) 23:41:53.96ID:oCa7NkmO
>>108
入れ替えたグラフを既に作っているじゃないですか?それで完成しているのでは?
2015/10/13(火) 00:02:52.88ID:X9js2iKE
>>110
ああ、ごめんなさい。
>>105の2枚目の画像は1枚目の画像を画像ビューワーソフトで左回転させたものなんです。
2枚目のようなグラフをエクセルで作成したいんです。
(今は1枚目のようなグラフをエクセルで作った段階です)
2015/10/13(火) 15:10:52.88ID:v0mnZW8d
>>111
私も、できてると思うんですが?
113105
垢版 |
2015/10/13(火) 18:10:14.52ID:X9js2iKE
改めて質問させてください。

エクセルで↓のようなグラフがあります。
http://i.imgur.com/BeOZor7.png

このグラフの縦軸と横軸を入れ替えたグラフを(エクセルで)作成したいのですがやり方がわかりません。
作成したいグラフのイメージは↓のようなものです(この画像は画像ビューワーで作成したものです)
http://i.imgur.com/7gXPOFG.png

わかりづらくてすみません。
2015/10/13(火) 18:27:38.73ID:jBFoqp2r
>>113
Excel グラフ 回転
でググるとやり方でてくるけど、これじゃ駄目?
115105
垢版 |
2015/10/13(火) 21:52:53.15ID:X9js2iKE
>>114
今エクセルを試せる環境ではないので検索してみた結果を眺めたところ、
線グラフや面グラフの縦軸と横軸の反転は非常に難しそうな印象を受けました。
難しいというか無理やりというか。
そこまでの労力をかけないと望む結果が得られないということはなんとなくわかりました。
そうであるならば現状を受け入れるしかないのかと思っております。
今回は諦めます。ありがとうございました。
2015/10/13(火) 22:05:15.03ID:v0mnZW8d
>>115
散布図でやってみるとか?
2015/10/13(火) 23:07:15.46ID:/7qkRhU+
>>113
Excelの質問かよ…
じゃあなんでExcelの質問スレじゃなくてここで質問するんだ
後出し条件出してくんなカス
2015/10/14(水) 00:34:55.63ID:psNeOyD5
>>117
あ〜〜VBA質問スレか・・・
すいません誤爆というかなんというか全く気づかず・・・
119デフォルトの名無しさん
垢版 |
2015/10/27(火) 14:53:17.89ID:EXphczgr
某サイトへのアクセスを1日1回、定時に行うためにIE操作を行うマクロを作っています。
必要な情報を取得した最後にそのサイトをログアウトしてIEを閉じたいのですが、ログアウトをしたときにJavascriptから?のログアウトしましたとの情報メッセージが表示されます。
ググッて調べたところ、以下の様な感じで閉じられるとあったのですが、SendMessageだけがうまくいきません。
ハンドルの値は入っています。
IE11を使っていますが、仕様が変わったのでしょうか?(Windows Updateでの最新)

このメッセージを閉じないとその後の閉じるためのVBAは進んでいるものの、実際の動作をしてくれなくて困っています。
(手動でメッセージを閉じたらその後のIEを閉じる操作が終わった状態にまで一気に進む)

わかる方いましたら教えて下さい。


Const WM_COMMAND As Long = &H111

hWnd = FindWindow("#32770", "Web ページからのメッセージ")

If hWnd <> 0 Then
Rtn = SendMessage(hWnd, WM_COMMAND, vbOK, 0)
End If
2015/10/28(水) 14:22:04.16ID:Dygk5TrA
>>119
ハンドル違うんじゃね?
121119
垢版 |
2015/10/29(木) 03:59:21.10ID:l3n8K/Sw
>>120
値は取得できてます。
これが本当にメッセージのハンドルなのか調べ方を知らないので合ってるかは分かりません。
FindWindowも間違ってないと思うのですが、こちらも調べてみます。
2015/10/29(木) 21:40:45.69ID:Q2L1bFVS
WM_COMMANDの右2つの引数の指定の仕方が間違ってるのと
有効なウィンドウハンドルかどうかはIsWindowで取得できる
123119
垢版 |
2015/10/30(金) 00:47:33.04ID:ZHFQ9n4z
Rtn = SendMessage(hWnd, WM_COMMAND, 2, 0)

でうまく閉じてくれました。

>>122さんレスありがとうございます。
2015/11/03(火) 17:46:00.00ID:fVYiq8DO
質問が2つあります(長文すみませんm(_ _)m

○1点目:vbaを用いた自動化でdiv要素だけのボタンを押す方法
作業->ウェブのあるサービスにログインし、一定の操作をしてからログアウトする
問題->idとpassの入力はできたが、ボタンが押せない

構造的には下記アドレスのログインフォームと似ていて
ttp://codepen.io/andrejmlinarevic/full/NGGdVv/
上記例の<button class="btn">Login</button>のような
button要素がなく、div要素のみで設計されています

javascript関係かと思い.fireEventや.Script.setTimeoutを調べてみたのですが
div要素には実行されるjavascriptやそのfunctionなどは何も無く、class名だけ書かれています

○2点目:ieオブジェクトのdocumentがローカルウインドウから参照出来ない
上の質問と関係し、ieオブジェクトのdocumentの中身を見ようとしたのですが
document以下が<変数なし>となっており参照出来ません
調べるとskydriveのadd-onを入れる、shellから持ってくる等情報がありますが、いずれでも解決出来ませんでした
なお<変数なし>とは出ていますが、debug.print ie.document.titleなどとすると中身は出力されます

環境
Windows8.1 pro 64bit
excel 2013 32bit:参照設定MS Internet Controls/MS HTML Object Library/OLE Automation
         Visual Basic For Applications/ MS Excel 15.0 Object Library/ MS office 15.0 Object Library
ie 11 64bit(32bitでも変わらず)
125デフォルトの名無しさん
垢版 |
2015/11/03(火) 19:21:14.85ID:elW9O1dh
パワポでソフトトーク使いたいんだけど『開発』タブ出すところまではできてもVBAでマクロを記述〜っていうのができない。インポートするファイルの在り処か作成法を情弱にも理解できるように教えてほしい…
126デフォルトの名無しさん
垢版 |
2015/11/03(火) 19:22:51.42ID:elW9O1dh
参考にしてるのはこれ。
パワポも2ちゃんも初心者でごめんなさい…
http://needtec.exblog.jp/18919344/
2015/11/03(火) 19:41:17.58ID:fVYiq8DO
>>125
Alt + F11
128デフォルトの名無しさん
垢版 |
2015/11/04(水) 15:38:11.36ID:DjYXAcy0
127
Visual Basicのウィンドウは出てきたしテキストもコピペしたけど
wavが自分のファイルに保存されない。
マクロ実行しても何も起こらずウィンドウが閉じるだけ。パワポのファイルにも音源は見当たらない。
2015/11/04(水) 15:56:19.21ID:Y61Iie1f
>>124
1点目はソースがないとなんとも。

2点目はHTMLDocumentあたりで定義したオブジェクト(変数?)にSetしてやれば参照できるよ。
理由はしらんがie.Documentみたいなままだと参照できない。
2015/11/04(水) 21:25:56.71ID:NpxeN+NQ
>>128
何をしてどうなったのか具体的に書いてもらわないとわかりません
パワポにマクロを組み込んで、softTalkのパスを指定して
スライドのノートに文章を書いて、マクロ実行、までは出来たという理解でOK?
2015/11/04(水) 21:55:38.97ID:NpxeN+NQ
>>129
レスありがとうございます
2点目はアドバイスの通り、set objDoc = objIe.Document.allとかしたら中身読めました。ありがとうございます!

1点目は情報少なくて申し訳ないです
業務用なので詳細は一部フェイク入れますが、htmlにはinputタグがあるだけで
<input id="id" class="input-text" type="text" ime-mode="disabled"></input>
はあるのですが、idとpassを入れた後に押すボタンが
<div class="btn-control-outer">
<div class="btn-control-inner">
<div class="btn-control-message">OK</div>
</div></div>
というタグだけで作られています
(なおこのタグはjsで動的に作られているようで、IEの要素チェックで確認したものをコピペしています。ソースだとこのタグがありません)
リンク要素のように.clickが出来るものがなく、setTimeOutするにも、タグの中にjavascript:alert();のような記述も見当たりません

トップページのソースでjsを外部参照していたので、改行がないjs(minify化?)ファイルを読み解いていますが
上のdivタグとどうに関係しているのかわからず詰まっている状態です。
2015/11/05(木) 10:30:26.20ID:HwmEl5Ub
>>131

div ボタンでぐぐったらこんなサイトがあって
http://lilia-study.com/web/jquery/sample/div-button.html
ここのサンプルが言っているdivのみのボタンかと思う。
http://lilia-study.com/jquery-sample/sample1/sample.html

For Each tag In ie.Document.getElementsByTagName("div")

Next
2015/11/05(木) 10:32:32.99ID:HwmEl5Ub
途中だった

For Each tag In ie.Document.getElementsByTagName("div")
if tag.ID = "aaa" Then
tag.Click
end if
Next

でクリックできた。
そちらのサイトでも動くんでないか?
2015/11/05(木) 21:56:35.78ID:CDrat58l
パワーポイントで、すべてのシートについて青い文字だけを黒い文字に変換するようなマクロを
作っていただけないでしょうか。
2015/11/05(木) 23:31:33.31ID:5frd9spB
>>132
アドバイスいただいた方法で出来ました!
div要素をclick出来るとは思っておりませんでした。
本当にありがとうございます。

その後の処理も上で>>119さんのやりとりから調べて目的とする動作が出来ました
合わせて感謝します。
2015/11/05(木) 23:51:53.10ID:HwmEl5Ub
>>135
こちらもdivがボタンにできるのを初めて知ったので勉強になったよ。
ちなみに119もオレw
137124
垢版 |
2015/11/06(金) 07:09:49.59ID:I5IXDGW5
!Σ(・ω・ノ)ノ
お礼伝わり良かったですw
138デフォルトの名無しさん
垢版 |
2015/11/08(日) 22:46:51.63ID:yp780VFR
access2013でフォームからの入力期間の金額を集計してレポート作成をしようとしています。
vbaでレポートボタンを押下した動作と同じコードは存在しますでしょうか。
2015/11/09(月) 00:38:10.22ID:lpQ26d6h
レポートボタンってのが何の事かわからんが DoCmd.OpenReport使えとかそういう事か?

とりあえずACCESS VBAはそれ用のスレがあるからそっちで聞け
2015/11/09(月) 02:05:47.54ID:rGXYqJ1u
>>134
すべてのシートの、
すべてのテキストの文字色を、一つずつ調べていき、
(または、1文字ずつ調べながら、)

もしそれが青なら、黒に変更する
141デフォルトの名無しさん
垢版 |
2016/02/17(水) 15:13:29.51ID:cyifogYg
パワポのVBAでお願いします。
ファイル→情報→メディアの圧縮
わVBAからやりたいのですがどのオブジェクトのどのメソッドからやればいいのかわかる方いたら教えて下さい。

音声ファイルの圧縮がやりたいのです。
142デフォルトの名無しさん
垢版 |
2016/02/24(水) 21:04:30.98ID:faCUrUaa
141507
140712
140715
141512
141207
141215
140708
140709
141508
140807
140703
141509
140815
141503
141208
140907
140315
141209
140915
141203

競馬の三連単の買い目がこのようにある時、マークシート記入枚数を減らすために
14-7,12,15-3,7,8,9,12,15
14-8,9-7,15
140315
とまとめたいのですが、どのように処理すればよいでしょうか?
いずれは金額も考慮したいと考えていますが、現段階では難易度を下げるために同一金額としてください。
同じ理由でここでは頭を固定で例を作成させていただきました。

よろしくお願いします。
2016/02/24(水) 22:34:57.70ID:7wWguvAi
>>142
VBA関係ないじゃん
書き込むスレ間違ってるよ
2016/02/24(水) 22:39:06.06ID:faCUrUaa
>>143
他にそれらしいスレがみつからなかったことと、この買い目を出す処理をVBAで行っているのでここで聞いたのですが
適切なスレがありましたら移動しますので、誘導願います
2016/02/24(水) 23:05:03.48ID:7wWguvAi
>>144
ごめん、>>1 読む限りだとこのスレで問題なさそうね…
すまんかった
146デフォルトの名無しさん
垢版 |
2016/02/24(水) 23:07:19.07ID:gEXn5/E8
でもEXCEL VBAに行ったほういい気がする
どうせEXCELだろ
2016/02/25(木) 00:31:32.38ID:lxjkiQUf
>>142
そういうのはアルゴリズム系スレの方が受けがいいかと
あんま言語関係ないし
データ構造,アルゴリズム,デザインパターン総合スレ 2
http://peace.2ch.net/test/read.cgi/tech/1362301811/
148142
垢版 |
2016/02/27(土) 08:28:02.19ID:SRIIhbK2
>>147
了解
2016/03/07(月) 19:56:57.79ID:IDkrJnKk
ミリ秒より短い時間の計測ってどうやるの?
2016/03/07(月) 20:49:02.27ID:UbdDFkp+
>>149
何を計測したいの?
2016/03/09(水) 17:27:24.27ID:ISN2ur/+
というかVBA マイクロ秒でぐぐったりしたの?
2016/03/18(金) 00:50:59.88ID:QavJ4QpP
EXCELのVBAでインデントされたとりあえず下のようなXMLを作成したく
http://blogs.yahoo.co.jp/ke1_thanks/folder/929993.html?m=lc
を参考に作成してるのですが、うまく孫要素が作成できません。
どうすれば孫要素が作成できるのでしょうか。ご教示お願いします。
また何と調べればいいのかを教えていただければ幸いです。

環境 windows7  64bit と32bit両方
 Excel 2010 64bit と32bit 両方

作成したいXML(括弧は半角だとうまく書き込めないみたいなので全角にしてます)


<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<ROOT>
<TITTLE>DQ5</TITTLE>
<CHARACTER>
<PERSON>
<NAME>パパス</NAME>
<HOBBY>女装</HOBBY>
<COMMENT>ぬわーーっっ!!</COMMENT>
</PERSON>
<PERSON>
<NAME>ゲマ</NAME>
<HOBBY>メラミ</HOBBY>
<COMMENT>ほっほっほっほっ。子を思う親の気持ちは いつみても いいものですね。</COMMENT>

</PERSON>
</CHARACTER>
</ROOT>
2016/03/18(金) 01:48:30.33ID:emFx7ejn
>>152
vba xml 生成 とかでググるといくらでもやり方はヒットすると思うけど
具体的にどんなコードのどこで行き詰まってるのか書いてくれないとアドバイスしようがない
2016/03/18(金) 11:47:02.11ID:QavJ4QpP
<CHARACTER>が</CHARACTER>で作成されてしまい、閉じてくれません。また<PERSON>などが孫要素になってくれません。
コードはこんな感じです。
http://pastebin.com/CVVKVnYF


作成されるXMLは↓です。
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<ROOT>
<TITTLE>DQ5</TITTLE>
<CHARACTER/>
<PERSON/>
<NAME>パパス</NAME>
<HOBBY>女装</HOBBY>
<COMMENT>ぬわーーっっ!!</COMMENT>
<PERSON/>
<NAME>ゲマ</NAME>
<HOBBY>メラミ</HOBBY>
<COMMENT>ほっほっほっほっ。子を思う親の気持ちは いつみても いいものですね。</COMMENT>
</ROOT>
2016/03/18(金) 21:10:32.76ID:Sdu3bujA
>>154
> 'ノードとして子ども・孫の要素を追加
>Set elem2 = rootelem.appendChild(myxml.createElement("CHARACTER"))
> Set elem2 = rootelem.appendChild(myxml.createElement("PERSON"))

> 'ノードとしてひ孫の要素を追加
>Set node = rootelem.appendChild(myxml.createNode("element", "NAME", ""))
> node.Text = "パパス"

rootelemにしか子供追加してないから、孫、ひ孫が生成されないのは当然な気がする
追加した子要素に子供を追加してやらなくちゃ…
試してないけどこんな感じ?

'ノードとして子ども・孫の要素を追加
Set elem2 = rootelem.appendChild(myxml.createElement("CHARACTER"))
Set elem2 = elem2.appendChild(myxml.createElement("PERSON"))

'ノードとしてひ孫の要素を追加
Set node = elem2.appendChild(myxml.createNode("element", "NAME", ""))
node.Text = "パパス"
2016/03/19(土) 11:15:23.76ID:LxdobWB2
ThisWorkbook.Save
で「指定したディメンションは、このグラフの種類では無効です。」のエラー発生。
エラーが出るときと出ないときがある。

VBAでグラフを操作している部分もあるが、それとは無関係と思われるSaveでこのエラーに戸惑っています。

↓このサイトで、SaveAsで存在しないパスを指定し同様のエラーが出た事例は見つかりましたが私はパス指定していません。
http://yaplog.jp/purplish-blog/archive/1838

エラー回避する方法を教えて下さい。
157156
垢版 |
2016/03/19(土) 11:26:07.75ID:LxdobWB2
>>156はエクセルの話です
win7, office2010
2016/03/20(日) 06:56:26.93ID:XolQD74Z
どなたか>>156わかりませんか?
2016/03/20(日) 07:11:36.75ID:P5LbtOo8
VBA内でセル指定をするときにシート名を明記しないと
そのセルがアクティブシートのセルになってしまってエラーが出ることがあるけど

VBAでグラフを作成するプログラムを作成していますが、エラーがでます。エラーの... - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1486687089

ぷぎえもん日記 VBA:実行時エラー1004グラフを作る時のエラーについて
http://pugiemonn.blog6.fc2.com/?m&;no=985

その辺は大丈夫?
2016/03/20(日) 14:30:13.47ID:U/mbzow+
>>155
うまく行き作りたいものが作れました。ありがとうございます。
2016/03/21(月) 00:33:38.32ID:RmxeJW4x
>>159
レスありがとうございます。
今出先なので明日帰宅してから確認してみます。
2016/03/21(月) 00:35:10.70ID:RmxeJW4x
あ、書き込めた。規制かかっててレスできず申し訳ないです。
163デフォルトの名無しさん
垢版 |
2016/03/24(木) 09:23:12.55ID:Y45L/A5m
既存のブックに入れているマクロは正常動作しているんだけど、2,3日以前から作った
ブックは
オートメーションエラーです。
例外が発生しました。

ってエラーですぐ落ちてしまうんだけど、これって何が原因なんですかね。
(OS Win7Home excel2010)

なんせ、
Sub test()
MsgBox "test"
End Sub
ってだけのでも同じエラーで落ちてしまうんで┐(´∀`)┌
ちなみにウィルス対策はAVGでチェックかけて異常なしではありました

http://www.dotup.org/uploda/www.dotup.org790841.jpg
2016/03/24(木) 12:50:23.33ID:FJvNCHp3
>>156
「vba 指定したディメンションは、このグラフの種類では無効です。」で検索!

>>163
「vba オートメーションエラー」で検索!
165デフォルトの名無しさん
垢版 |
2016/04/09(土) 01:33:44.74ID:8VJ1WNjN
Declare 文でDllを指定するとき、絶対パスを指定するのとしないので挙動が変わるなんてことありますかね?

パスの通ったフォルダにDllを置きDeclare文にはパスを書かない、という状態で何度テストしても失敗する(結果がおかしい)ので、
もしやと思って絶対パスを指定してみたら成功しました。何度やっても同じです。

念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。

Window7、Excel2010(64bit)です。
166kio
垢版 |
2016/04/09(土) 09:27:26.96ID:OaMx2gZN
下記プログラムでデータ貼り付け可能ですが、
Range(
167デフォルトの名無しさん
垢版 |
2016/04/09(土) 10:55:02.62ID:uD9Ltjj7
>>165
なんで大事な部分を書かずに濁すの?
2016/04/09(土) 11:27:25.80ID:mXQNErhc
>>167
大事な部分って?
2016/04/09(土) 11:49:50.63ID:8+AE4+J9
コードじゃね?
2016/04/09(土) 12:00:42.12ID:YC7vrxdl
どんな dll 使って、
どう失敗するのか

とかじゃね?
171デフォルトの名無しさん
垢版 |
2016/04/09(土) 12:35:11.85ID:lZD29UWG
性別と容姿じゃね?
172デフォルトの名無しさん
垢版 |
2016/04/09(土) 15:25:31.33ID:8VJ1WNjN
>>167-170

DLLはこんな感じで
Declare PtrSafe Function funcABC Lib "ABC.dll" (ByVal n As Long, ByRef v As Variant) As Long

本来1が返ってくるべきところに0が返ってくるんです。
だけど、〜 Lib "C:\tmp\ABC.dll" 〜 とすると、ちゃんと1が返ってくる。

どちらの場合もDLL名を変えると「ファイルが見つかりません」という実行時エラーになるので、同じDLLファイルを
指しいてるのは間違いないと思います。
2016/04/09(土) 16:35:57.82ID:kbPPFUQM
>>172
そんなの "ABC.dll" の作り次第だろ
作者に聞けよ
dll のパス取得して何かしてるのかもしれないし
http://frog.raindrop.jp/knowledge/archives/000316.html
2016/04/09(土) 16:55:41.43ID:DA1syyI4
>念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。
限りなくこれが怪しいと思うんだが
2016/04/09(土) 16:57:28.60ID:XGWfr4Pw
>>165
同名のdllが無いことをどうやって確認した?
176デフォルトの名無しさん
垢版 |
2016/04/09(土) 18:20:08.40ID:uD9Ltjj7
>>165
挙動が変わることはあります。
おわり
177デフォルトの名無しさん
垢版 |
2016/04/09(土) 18:32:34.00ID:8VJ1WNjN
>>175
パスが通っている全フォルダとカレントフォルダからの目視です。

環境変数(PATH)をまず確認して、
kernel32.dllにあるAPI 「GetEnvironmentVariableA」 に引数"PATH"を渡して出てきたフォルダを対象にしました。

問題のfuncABC も GetEnvironmentVariableA も同じVBAから発行しています。
2016/04/09(土) 18:41:03.58ID:DA1syyI4
カレントフォルダをどうやって確認したかとか
システムディレクトリにdllがないかとか

まあ、確認漏れ自体はいっぱいありそうだな
179デフォルトの名無しさん
垢版 |
2016/04/09(土) 18:46:44.36ID:8VJ1WNjN
>>178
C:\windowsやC:\Program Files、C:\Program Files (x86)は入ってますよ。
目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。

>>176
マジですか...
2016/04/09(土) 19:45:00.69ID:mXQNErhc
>>179
本当にひとつしかないならあり得ない挙動だと思うけど。
dllの内容を明かしてみな。
2016/04/09(土) 19:57:07.07ID:zSVIlalC
Windows が使用する DLL 検索パス

1.実行中のプロセスの実行形式モジュールがあるフォルダー。
2.現在のフォルダー。
3.Windows システム フォルダー。このフォルダーへのパスは、GetSystemDirectory 関数が取得します。
4.Windows ディレクトリ。このフォルダーへのパスは、GetWindowsDirectory 関数が取得します。
5.環境変数 PATH 内に記述されたフォルダー。

https://msdn.microsoft.com/ja-jp/library/7d83bc18.aspx
2016/04/09(土) 20:29:56.83ID:XGWfr4Pw
>>177
ウインドウズの検索機能を使ってみたら?
2016/04/09(土) 20:38:17.27ID:KOaWU5bX
何か仕事でもしながら、ディスク全部の範囲で、検索すればいい
2016/04/09(土) 21:28:53.86ID:yIzAT5uL
windows なら黙って search everything 入れろ
考える余地なし
2016/04/09(土) 21:30:12.16ID:yIzAT5uL
あ、業務用のマシンだとマズいか
2016/04/09(土) 21:43:59.08ID:YC7vrxdl
>>179
> 目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。
プログラマーに向いてないんじゃね?
コマンドプロンプトで
dir /s /b \ABC.dll
ってやればいいだけだろ
187デフォルトの名無しさん
垢版 |
2016/04/09(土) 23:15:48.61ID:8VJ1WNjN
>>180
ODBCのコネクションを張る関数で、特に自分の場所が関係する処理はしてないですね。

>>181-186
全ドライブを検索した結果(search everythingは入れてませんが dir/s はやってみた)
C:\Users\*****\Google ドライブ\
に見つかりました。
しかし、これを消しても現象は変わらなかった(もともと参照パスに入ってない)ので、諦めの気分です。
188デフォルトの名無しさん
垢版 |
2016/04/10(日) 00:12:20.49ID:TaPFtU7E
元々の質問は、挙動が変わることがあるか?で、
あるって回答で解決だと思うけど、どうしてもないってことにしたいの?
ゴールが見えないよ
189187
垢版 |
2016/04/10(日) 00:39:39.00ID:9vV3r8su
>>188
あるって回答(>>176)もあり、ないって回答(>>180)もありで、判断がつかない状況です。
190187
垢版 |
2016/04/10(日) 00:47:04.09ID:9vV3r8su
それと、>>173>>176もいまいち理解できておりません。
「dllのパスを取得」とは、実際の存在はひとつでもDeclare文での指定のしかたまでも検知できるんでしょうか?
2016/04/10(日) 01:04:43.27ID:9zYVMe1H
まさか、パス・ユーザー名など、システムに関係する部分に、
日本語を使ってないだろうな?

それで、バグってるとか?
192187
垢版 |
2016/04/10(日) 01:08:14.87ID:9vV3r8su
>>191
ないですね
2016/04/10(日) 01:14:27.05ID:9zYVMe1H
そのDLLの作者が外人で、DLL内で、パス・ユーザー名を扱っていた場合、

もしその中に日本語が入っていれば、バグるかも
2016/04/10(日) 01:22:30.64ID:9zYVMe1H
>>187
>ODBCのコネクションを張る関数で

それなら、そのDBのメーカーが(ドライバーが)、絶対パスしか許可していないのかも。
相対パスの危険性も考慮して、そういうアクセス許可にしているのかも

絶対パスを使えばいい
2016/04/10(日) 05:47:22.16ID:v52RcnsN
>>187
> 特に自分の場所が関係する処理はしてないですね。
ん?
自分で作った dll なの?
だったら自分でデバッグしなよ
2016/04/10(日) 10:59:47.17ID:KR5BT3Be
全ドライブを検査してひとつしかdllファイルがなかったって言ってるんだろ。
それが本当なら何も対処できないよ。OSレベルの不具合。
2016/04/10(日) 17:49:12.01ID:r0zhudqC
VBAをコーディングするのに最適な画面サイズとモニターの台数は何台ですか?
縦と横どっちでつかってすか?
4Kディスプレイはどうですか?
2016/04/10(日) 18:54:26.34ID:oV0tVvW7
(´・ω・`)
199デフォルトの名無しさん
垢版 |
2016/04/10(日) 19:33:25.31ID:Y5yf6QHK
>>197
3台

4Kいいよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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