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/
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2015/05/21(木) 10:52:44.71ID:KLv0vQmm154デフォルトの名無しさん
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>
コードはこんな感じです。
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>
155デフォルトの名無しさん
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 = "パパス"
> 'ノードとして子ども・孫の要素を追加
>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 = "パパス"
156デフォルトの名無しさん
2016/03/19(土) 11:15:23.76ID:LxdobWB2 ThisWorkbook.Save
で「指定したディメンションは、このグラフの種類では無効です。」のエラー発生。
エラーが出るときと出ないときがある。
VBAでグラフを操作している部分もあるが、それとは無関係と思われるSaveでこのエラーに戸惑っています。
↓このサイトで、SaveAsで存在しないパスを指定し同様のエラーが出た事例は見つかりましたが私はパス指定していません。
http://yaplog.jp/purplish-blog/archive/1838
エラー回避する方法を教えて下さい。
で「指定したディメンションは、このグラフの種類では無効です。」のエラー発生。
エラーが出るときと出ないときがある。
VBAでグラフを操作している部分もあるが、それとは無関係と思われるSaveでこのエラーに戸惑っています。
↓このサイトで、SaveAsで存在しないパスを指定し同様のエラーが出た事例は見つかりましたが私はパス指定していません。
http://yaplog.jp/purplish-blog/archive/1838
エラー回避する方法を教えて下さい。
158デフォルトの名無しさん
2016/03/20(日) 06:56:26.93ID:XolQD74Z どなたか>>156わかりませんか?
159デフォルトの名無しさん
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
その辺は大丈夫?
そのセルがアクティブシートのセルになってしまってエラーが出ることがあるけど
VBAでグラフを作成するプログラムを作成していますが、エラーがでます。エラーの... - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1486687089
ぷぎえもん日記 VBA:実行時エラー1004グラフを作る時のエラーについて
http://pugiemonn.blog6.fc2.com/?m&no=985
その辺は大丈夫?
160デフォルトの名無しさん
2016/03/20(日) 14:30:13.47ID:U/mbzow+ >>155
うまく行き作りたいものが作れました。ありがとうございます。
うまく行き作りたいものが作れました。ありがとうございます。
161デフォルトの名無しさん
2016/03/21(月) 00:33:38.32ID:RmxeJW4x162デフォルトの名無しさん
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
ブックは
オートメーションエラーです。
例外が発生しました。
ってエラーですぐ落ちてしまうんだけど、これって何が原因なんですかね。
(OS Win7Home excel2010)
なんせ、
Sub test()
MsgBox "test"
End Sub
ってだけのでも同じエラーで落ちてしまうんで┐(´∀`)┌
ちなみにウィルス対策はAVGでチェックかけて異常なしではありました
http://www.dotup.org/uploda/www.dotup.org790841.jpg
164デフォルトの名無しさん
2016/03/24(木) 12:50:23.33ID:FJvNCHp3165デフォルトの名無しさん
2016/04/09(土) 01:33:44.74ID:8VJ1WNjN Declare 文でDllを指定するとき、絶対パスを指定するのとしないので挙動が変わるなんてことありますかね?
パスの通ったフォルダにDllを置きDeclare文にはパスを書かない、という状態で何度テストしても失敗する(結果がおかしい)ので、
もしやと思って絶対パスを指定してみたら成功しました。何度やっても同じです。
念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。
Window7、Excel2010(64bit)です。
パスの通ったフォルダにDllを置きDeclare文にはパスを書かない、という状態で何度テストしても失敗する(結果がおかしい)ので、
もしやと思って絶対パスを指定してみたら成功しました。何度やっても同じです。
念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。
Window7、Excel2010(64bit)です。
166kio
2016/04/09(土) 09:27:26.96ID:OaMx2gZN 下記プログラムでデータ貼り付け可能ですが、
Range(
Range(
167デフォルトの名無しさん
2016/04/09(土) 10:55:02.62ID:uD9Ltjj7 >>165
なんで大事な部分を書かずに濁すの?
なんで大事な部分を書かずに濁すの?
168デフォルトの名無しさん
2016/04/09(土) 11:27:25.80ID:mXQNErhc >>167
大事な部分って?
大事な部分って?
169デフォルトの名無しさん
2016/04/09(土) 11:49:50.63ID:8+AE4+J9 コードじゃね?
170デフォルトの名無しさん
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ファイルを
指しいてるのは間違いないと思います。
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ファイルを
指しいてるのは間違いないと思います。
173デフォルトの名無しさん
2016/04/09(土) 16:35:57.82ID:kbPPFUQM >>172
そんなの "ABC.dll" の作り次第だろ
作者に聞けよ
dll のパス取得して何かしてるのかもしれないし
http://frog.raindrop.jp/knowledge/archives/000316.html
そんなの "ABC.dll" の作り次第だろ
作者に聞けよ
dll のパス取得して何かしてるのかもしれないし
http://frog.raindrop.jp/knowledge/archives/000316.html
174デフォルトの名無しさん
2016/04/09(土) 16:55:41.43ID:DA1syyI4 >念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。
限りなくこれが怪しいと思うんだが
限りなくこれが怪しいと思うんだが
175デフォルトの名無しさん
2016/04/09(土) 16:57:28.60ID:XGWfr4Pw >>165
同名のdllが無いことをどうやって確認した?
同名のdllが無いことをどうやって確認した?
176デフォルトの名無しさん
2016/04/09(土) 18:20:08.40ID:uD9Ltjj7177デフォルトの名無しさん
2016/04/09(土) 18:32:34.00ID:8VJ1WNjN >>175
パスが通っている全フォルダとカレントフォルダからの目視です。
環境変数(PATH)をまず確認して、
kernel32.dllにあるAPI 「GetEnvironmentVariableA」 に引数"PATH"を渡して出てきたフォルダを対象にしました。
問題のfuncABC も GetEnvironmentVariableA も同じVBAから発行しています。
パスが通っている全フォルダとカレントフォルダからの目視です。
環境変数(PATH)をまず確認して、
kernel32.dllにあるAPI 「GetEnvironmentVariableA」 に引数"PATH"を渡して出てきたフォルダを対象にしました。
問題のfuncABC も GetEnvironmentVariableA も同じVBAから発行しています。
178デフォルトの名無しさん
2016/04/09(土) 18:41:03.58ID:DA1syyI4 カレントフォルダをどうやって確認したかとか
システムディレクトリにdllがないかとか
まあ、確認漏れ自体はいっぱいありそうだな
システムディレクトリにdllがないかとか
まあ、確認漏れ自体はいっぱいありそうだな
179デフォルトの名無しさん
2016/04/09(土) 18:46:44.36ID:8VJ1WNjN180デフォルトの名無しさん
2016/04/09(土) 19:45:00.69ID:mXQNErhc181デフォルトの名無しさん
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
1.実行中のプロセスの実行形式モジュールがあるフォルダー。
2.現在のフォルダー。
3.Windows システム フォルダー。このフォルダーへのパスは、GetSystemDirectory 関数が取得します。
4.Windows ディレクトリ。このフォルダーへのパスは、GetWindowsDirectory 関数が取得します。
5.環境変数 PATH 内に記述されたフォルダー。
https://msdn.microsoft.com/ja-jp/library/7d83bc18.aspx
182デフォルトの名無しさん
2016/04/09(土) 20:29:56.83ID:XGWfr4Pw >>177
ウインドウズの検索機能を使ってみたら?
ウインドウズの検索機能を使ってみたら?
183デフォルトの名無しさん
2016/04/09(土) 20:38:17.27ID:KOaWU5bX 何か仕事でもしながら、ディスク全部の範囲で、検索すればいい
184デフォルトの名無しさん
2016/04/09(土) 21:28:53.86ID:yIzAT5uL windows なら黙って search everything 入れろ
考える余地なし
考える余地なし
185デフォルトの名無しさん
2016/04/09(土) 21:30:12.16ID:yIzAT5uL あ、業務用のマシンだとマズいか
186デフォルトの名無しさん
2016/04/09(土) 21:43:59.08ID:YC7vrxdl >>179
> 目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。
プログラマーに向いてないんじゃね?
コマンドプロンプトで
dir /s /b \ABC.dll
ってやればいいだけだろ
> 目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。
プログラマーに向いてないんじゃね?
コマンドプロンプトで
dir /s /b \ABC.dll
ってやればいいだけだろ
187デフォルトの名無しさん
2016/04/09(土) 23:15:48.61ID:8VJ1WNjN188デフォルトの名無しさん
2016/04/10(日) 00:12:20.49ID:TaPFtU7E 元々の質問は、挙動が変わることがあるか?で、
あるって回答で解決だと思うけど、どうしてもないってことにしたいの?
ゴールが見えないよ
あるって回答で解決だと思うけど、どうしてもないってことにしたいの?
ゴールが見えないよ
190187
2016/04/10(日) 00:47:04.09ID:9vV3r8su191デフォルトの名無しさん
2016/04/10(日) 01:04:43.27ID:9zYVMe1H まさか、パス・ユーザー名など、システムに関係する部分に、
日本語を使ってないだろうな?
それで、バグってるとか?
日本語を使ってないだろうな?
それで、バグってるとか?
193デフォルトの名無しさん
2016/04/10(日) 01:14:27.05ID:9zYVMe1H そのDLLの作者が外人で、DLL内で、パス・ユーザー名を扱っていた場合、
もしその中に日本語が入っていれば、バグるかも
もしその中に日本語が入っていれば、バグるかも
194デフォルトの名無しさん
2016/04/10(日) 01:22:30.64ID:9zYVMe1H >>187
>ODBCのコネクションを張る関数で
それなら、そのDBのメーカーが(ドライバーが)、絶対パスしか許可していないのかも。
相対パスの危険性も考慮して、そういうアクセス許可にしているのかも
絶対パスを使えばいい
>ODBCのコネクションを張る関数で
それなら、そのDBのメーカーが(ドライバーが)、絶対パスしか許可していないのかも。
相対パスの危険性も考慮して、そういうアクセス許可にしているのかも
絶対パスを使えばいい
195デフォルトの名無しさん
2016/04/10(日) 05:47:22.16ID:v52RcnsN196デフォルトの名無しさん
2016/04/10(日) 10:59:47.17ID:KR5BT3Be 全ドライブを検査してひとつしかdllファイルがなかったって言ってるんだろ。
それが本当なら何も対処できないよ。OSレベルの不具合。
それが本当なら何も対処できないよ。OSレベルの不具合。
197デフォルトの名無しさん
2016/04/10(日) 17:49:12.01ID:r0zhudqC VBAをコーディングするのに最適な画面サイズとモニターの台数は何台ですか?
縦と横どっちでつかってすか?
4Kディスプレイはどうですか?
縦と横どっちでつかってすか?
4Kディスプレイはどうですか?
198デフォルトの名無しさん
2016/04/10(日) 18:54:26.34ID:oV0tVvW7 (´・ω・`)
199デフォルトの名無しさん
2016/04/10(日) 19:33:25.31ID:Y5yf6QHK200デフォルトの名無しさん
2016/04/27(水) 21:49:20.13ID:Wsz3hpAs エクセルのVBA質問があります。
一番前のTOTALシートのA22:H26までを複数シート(20シートくらいある)の最終行の次の行に貼り付けたいのです。
各シートの最終行はバラバラで多いのは数千とあります。
しかも、G列には\と$の通貨マークH列には金額が書いてあり、SUMIFが組んであります。
記録マクロでやると下記みたいになりますが、こんなこと可能なのでしょうか?
調べても出てこないので誰か教えてください。
Sub Macro2()
Rows("24:28").Select
Selection.Copy
Sheets("A").Select
Rows("22:22").Select
Selection.Insert Shift:=xlDown
Range("H22").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=SUMIF(R9C7:R19C7,RC[-1],R9C8:R19C8)"
Range("H23").Select
End Sub
一番前のTOTALシートのA22:H26までを複数シート(20シートくらいある)の最終行の次の行に貼り付けたいのです。
各シートの最終行はバラバラで多いのは数千とあります。
しかも、G列には\と$の通貨マークH列には金額が書いてあり、SUMIFが組んであります。
記録マクロでやると下記みたいになりますが、こんなこと可能なのでしょうか?
調べても出てこないので誰か教えてください。
Sub Macro2()
Rows("24:28").Select
Selection.Copy
Sheets("A").Select
Rows("22:22").Select
Selection.Insert Shift:=xlDown
Range("H22").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=SUMIF(R9C7:R19C7,RC[-1],R9C8:R19C8)"
Range("H23").Select
End Sub
201デフォルトの名無しさん
2016/04/28(木) 00:18:56.90ID:Vq22azhO >>200
可能です
可能です
202デフォルトの名無しさん
2016/04/28(木) 07:31:01.70ID:TNqjmghT >>201
教えてください。
教えてください。
203デフォルトの名無しさん
2016/04/28(木) 08:26:47.90ID:RqXO/zBw >>202
具体的にあなたが躓いているところがわかりません
具体的にあなたが躓いているところがわかりません
204デフォルトの名無しさん
2016/04/28(木) 12:27:24.37ID:xB9gNSEq >>203
具体的にあなたが何がわからないのかわかりません
具体的にあなたが何がわからないのかわかりません
205デフォルトの名無しさん
2016/04/28(木) 12:29:10.17ID:gq5pmM2C >>200
For Eachで全シートループして、各シート最終行取得して貼り付ければ良いと思いますが、ダメですか?
For Eachで全シートループして、各シート最終行取得して貼り付ければ良いと思いますが、ダメですか?
206デフォルトの名無しさん
2016/04/28(木) 20:07:58.00ID:iqsXmWMg >>200ですが、出直してきます。
207デフォルトの名無しさん
2016/05/01(日) 15:15:56.13ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
l
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
l
208デフォルトの名無しさん
2016/05/01(日) 23:24:37.04ID:u17iQe5m EXCELのVBAでメール返信(OUTLOOK)をする仕組みを作りたいのですが、
元メールを引用するにはどうしたら良いでしょうか?
タイトルやらアドレスやら本文がくっついてないと、
どうも返信感がでないと思いまして。
元メールを引用するにはどうしたら良いでしょうか?
タイトルやらアドレスやら本文がくっついてないと、
どうも返信感がでないと思いまして。
209デフォルトの名無しさん
2016/05/03(火) 10:11:50.64ID:YSERRocv >>208
Outlookヘルプから
次の例は、現在のフォルダを受信トレイに設定し、フォルダの 2 番目のメッセージを表示します。
Visual Basic for Applications
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
myFolder.Display
Set myItem = myFolder.Items(2)
myItem.Display
Outlookヘルプから
次の例は、現在のフォルダを受信トレイに設定し、フォルダの 2 番目のメッセージを表示します。
Visual Basic for Applications
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
myFolder.Display
Set myItem = myFolder.Items(2)
myItem.Display
210デフォルトの名無しさん
2016/06/04(土) 14:31:26.42ID:ZLbjql14 Excel向けだとVBA関連の本は結構あるのにOutlookのVBA本って
あんまり無いですね。
Outlookの仕分け機能では宛先とCCに○○から来た時に動作する
条件を付けられますが、宛先○○から来た時には動作するけど
CCに何か入っていた場合は動作しないマクロは作れないでしょうか。
環境はWin7、Outlook2010です。
あんまり無いですね。
Outlookの仕分け機能では宛先とCCに○○から来た時に動作する
条件を付けられますが、宛先○○から来た時には動作するけど
CCに何か入っていた場合は動作しないマクロは作れないでしょうか。
環境はWin7、Outlook2010です。
211デフォルトの名無しさん
2016/06/04(土) 17:57:25.97ID:+2vTx5YA >>210
作れるよ
作れるよ
212デフォルトの名無しさん
2016/06/04(土) 17:59:26.06ID:+2vTx5YA outlook vba mail
とかでググれ
とかでググれ
213デフォルトの名無しさん
2016/06/04(土) 21:08:48.99ID:xa1tVlDu >>210
多分こんな感じでできるかと
Public WithEvents InboxItems As Items
Private Sub Application_Startup()
Set InboxItems = Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub InboxItems_ItemAdd(ByVal Item As Object)
Dim mailItem As Outlook.mailItem
Set mailItem = Item
If InStr(mailItem.To, "○○") > 0 And mailItem.CC = "" Then
MsgBox "何かする"
End If
End Sub
多分こんな感じでできるかと
Public WithEvents InboxItems As Items
Private Sub Application_Startup()
Set InboxItems = Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub InboxItems_ItemAdd(ByVal Item As Object)
Dim mailItem As Outlook.mailItem
Set mailItem = Item
If InStr(mailItem.To, "○○") > 0 And mailItem.CC = "" Then
MsgBox "何かする"
End If
End Sub
214デフォルトの名無しさん
2016/06/12(日) 09:42:53.63ID:D40PIOb3 【Win10】 こんな犯罪級OS薦めんなよwww ↓ 【スパイウェア】
この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c
【秘密保護法】 ナチスの手口でサヨクを捕まるんだろ? 早くやってみろよ m9(^Д^) 【緊急事態法】
スノーデン氏→国家秘密法は諜報機関NSAの日本での活動を容易にするために米国が設計して日本政府に導入を要求したもの。
全日本人が調査の対象であり、NSAはあなたの交際関係、信仰等の個人情報を把握している。
https://twitter.com/hopi_domingo/status/740193540529999873
今朝、辺野古で新基地建設に反対するママの会メンバーに対して、機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。
自分のやっていることを「だってお金欲しいもん〜」「俺の写真を待ち受けにしろ」とも (顔写真)
https://twitter.com/MothersNoWar/status/690357793702940672
サンマ以降のバラエティ芸人の大半が、暴走族出身で極右思想。原発反対派を「放射脳」と嘲笑する連中。
芸能界極右は石原慎太郎一家を筆頭に、上田晋也 草野仁 津川雅彦 向井理 松本人志 宇多田ヒカル マツコ 春日俊彰 田村淳 北村晴雄
https://twitter.com/tokaia mada/status/630627400552845312
この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c
【秘密保護法】 ナチスの手口でサヨクを捕まるんだろ? 早くやってみろよ m9(^Д^) 【緊急事態法】
スノーデン氏→国家秘密法は諜報機関NSAの日本での活動を容易にするために米国が設計して日本政府に導入を要求したもの。
全日本人が調査の対象であり、NSAはあなたの交際関係、信仰等の個人情報を把握している。
https://twitter.com/hopi_domingo/status/740193540529999873
今朝、辺野古で新基地建設に反対するママの会メンバーに対して、機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。
自分のやっていることを「だってお金欲しいもん〜」「俺の写真を待ち受けにしろ」とも (顔写真)
https://twitter.com/MothersNoWar/status/690357793702940672
サンマ以降のバラエティ芸人の大半が、暴走族出身で極右思想。原発反対派を「放射脳」と嘲笑する連中。
芸能界極右は石原慎太郎一家を筆頭に、上田晋也 草野仁 津川雅彦 向井理 松本人志 宇多田ヒカル マツコ 春日俊彰 田村淳 北村晴雄
https://twitter.com/tokaia mada/status/630627400552845312
215デフォルトの名無しさん
2016/06/14(火) 02:34:53.84ID:2DTiTbF7 vbaでshell関数を使って指定パスのエクスプローラをファイル選択状態で開いてるのですが、
家でやると何でもないのですが、会社でやると、その方法で立ち上げたエクスプローラは
1分〜数分以内に「エクスプローラは停止しました」となって落ちます。そのフォルダだけ
落ちるので他のは巻き込まれないだけマシですが、手動で立ち上げた他のエクスプローラで
このように不意に落ちた事はないので、プログラムから立ち上げたエクスプローラが特別
不安定だとしか思えないのですが、原因が不明です。
それで、家と会社の違いは、会社だと共有フォルダを開いている事です。
家ではテスト環境をローカルで構成している為か、全く問題は起きません。
色々ぐぐってみたのですが原因が不明です。
vbaから開く方法で、解決策、あるいは次善の方法等ありますでしょうか。
shell関数はこのように使っております。
Shell "Explorer.exe /select, """ & path & """", vbNormalFocus
環境はWindows7 Excel2010(32bit)です。
家でやると何でもないのですが、会社でやると、その方法で立ち上げたエクスプローラは
1分〜数分以内に「エクスプローラは停止しました」となって落ちます。そのフォルダだけ
落ちるので他のは巻き込まれないだけマシですが、手動で立ち上げた他のエクスプローラで
このように不意に落ちた事はないので、プログラムから立ち上げたエクスプローラが特別
不安定だとしか思えないのですが、原因が不明です。
それで、家と会社の違いは、会社だと共有フォルダを開いている事です。
家ではテスト環境をローカルで構成している為か、全く問題は起きません。
色々ぐぐってみたのですが原因が不明です。
vbaから開く方法で、解決策、あるいは次善の方法等ありますでしょうか。
shell関数はこのように使っております。
Shell "Explorer.exe /select, """ & path & """", vbNormalFocus
環境はWindows7 Excel2010(32bit)です。
216デフォルトの名無しさん
2016/06/14(火) 06:56:55.57ID:wwwgAdKU >>215
試しに自宅の環境で共有フォルダをshell関数でファイル選択状態で開いてみたけど
特に問題なかったよ
原因は共有フォルダであること
ではないのじゃないかな
その共有フォルダへのショートカットを作って
それをshell関数を使ってexplorerで開いてみるとかは?
試しに自宅の環境で共有フォルダをshell関数でファイル選択状態で開いてみたけど
特に問題なかったよ
原因は共有フォルダであること
ではないのじゃないかな
その共有フォルダへのショートカットを作って
それをshell関数を使ってexplorerで開いてみるとかは?
217デフォルトの名無しさん
2016/06/14(火) 08:10:13.51ID:BcKyLCvc 手動で起動したプロセスは、親プロセスが無く、単独のプロセスだから、ずっと生き残るのかな?
Aプログラム(Aプロセス)から起動したプロセスは、親プロセスがAとなり、
Aを終了すると、その子プロセスもすべて、連鎖して終了するのかな?
プロセスを起動する際、親子関係を切れば?
ただしそうすると、起動されたプロセスは、A終了後も残り続けるから、
誰がそのプロセスを終了するのかが、問題となる
漏れは、Windowsはよく知らない。Linuxから推測して書いた
Aプログラム(Aプロセス)から起動したプロセスは、親プロセスがAとなり、
Aを終了すると、その子プロセスもすべて、連鎖して終了するのかな?
プロセスを起動する際、親子関係を切れば?
ただしそうすると、起動されたプロセスは、A終了後も残り続けるから、
誰がそのプロセスを終了するのかが、問題となる
漏れは、Windowsはよく知らない。Linuxから推測して書いた
218デフォルトの名無しさん
2016/06/14(火) 08:45:39.28ID:2DTiTbF7 >>216
ショートカットから開く方法ですか、考えもしなかったです。
確実に再現するバグではない(場合によっては20分くらい経ってからクラッシュしますし、端末によっては何も起きなかったりします。)
なので、原因を掴むのが難しいです。
>>217
なるほど、プロセスが分離されているから巻き込まれなかったんですかね。
前後のコードを見返しているのですが、shell関数を読んだ直後に
Kill thisworkbook.fullName
thisworkbook.close
を読んで終了させているんですが、ひょっとしたらこの兼ね合いが原因かも?とふと思いました。
shell関数は非同期処理で、会社の共有フォルダを開くときはローカルと違って若干起動に時間がかかります。
shell関数の処理が完了しきっていないのに即終了させるから、動作が不安定になってる可能性はありますかね・・。
なのでとりあえずShell関数を、Wscript.ShellのRunメソッドの同期処理に置換えてみました。
それで明日会社でテストしてみます。
ショートカットから開く方法ですか、考えもしなかったです。
確実に再現するバグではない(場合によっては20分くらい経ってからクラッシュしますし、端末によっては何も起きなかったりします。)
なので、原因を掴むのが難しいです。
>>217
なるほど、プロセスが分離されているから巻き込まれなかったんですかね。
前後のコードを見返しているのですが、shell関数を読んだ直後に
Kill thisworkbook.fullName
thisworkbook.close
を読んで終了させているんですが、ひょっとしたらこの兼ね合いが原因かも?とふと思いました。
shell関数は非同期処理で、会社の共有フォルダを開くときはローカルと違って若干起動に時間がかかります。
shell関数の処理が完了しきっていないのに即終了させるから、動作が不安定になってる可能性はありますかね・・。
なのでとりあえずShell関数を、Wscript.ShellのRunメソッドの同期処理に置換えてみました。
それで明日会社でテストしてみます。
219デフォルトの名無しさん
2016/06/15(水) 20:38:23.92ID:985LHqkd それVBAとか関係なく、普通にネットワーク上のフォルダを表示してるエクスプローラでも発生してるんじゃないのか?
https://support.microsoft.com/ja-jp/kb/972685#/ja-jp/kb/972685
https://support.microsoft.com/ja-jp/kb/2494427#/ja-jp/kb/2494427
とりあえず俺はこの二つで直ったが、エクスプローラ 落ちる とかでググってみ
https://support.microsoft.com/ja-jp/kb/972685#/ja-jp/kb/972685
https://support.microsoft.com/ja-jp/kb/2494427#/ja-jp/kb/2494427
とりあえず俺はこの二つで直ったが、エクスプローラ 落ちる とかでググってみ
220218
2016/06/16(木) 07:48:37.40ID:MO4h1nff >>219
同期処理に変えたら全く落ちなくなりました。
どうやら推測は当たったみたいです。
手動で立ちあげてる時には同じトラブルは一度も起こったこと無く、誰からも聞いていないので、
VBA処理が原因で間違いないと思います。
ぐぐっては見てたんですけど、VBA関連でのエラー報告は0でしたね。
しかし、元々この手のトラブル報告がかなり多いことにはびっくりしました。
とりあえずは解決です。皆さんどうも有難うございました。
同期処理に変えたら全く落ちなくなりました。
どうやら推測は当たったみたいです。
手動で立ちあげてる時には同じトラブルは一度も起こったこと無く、誰からも聞いていないので、
VBA処理が原因で間違いないと思います。
ぐぐっては見てたんですけど、VBA関連でのエラー報告は0でしたね。
しかし、元々この手のトラブル報告がかなり多いことにはびっくりしました。
とりあえずは解決です。皆さんどうも有難うございました。
221デフォルトの名無しさん
2016/06/16(木) 14:05:29.72ID:tOwQ8tvq タイミングの問題で、バグが起きるときは、
sleep 3秒などで、時間稼ぎすることが多いな
sleep 3秒などで、時間稼ぎすることが多いな
222デフォルトの名無しさん
2016/06/16(木) 16:27:03.77ID:YtVxucfB223デフォルトの名無しさん
2016/06/16(木) 21:40:45.67ID:JOmdLZoV ' キャッシュ反映を待って5秒待つ
↑これなんとかして
↑これなんとかして
224デフォルトの名無しさん
2016/06/16(木) 21:53:33.23ID:EpEOLr57225デフォルトの名無しさん
2016/06/17(金) 01:16:02.29ID:Sh+IdTol 起動方法と起動のタイミングの問題で
>1分〜数分以内に「エクスプローラは停止しました」
>場合によっては20分くらい経ってからクラッシュ
のような症状が出るとは考えにくいけどな
まあ、直ったって言うならそれでいいけど
>1分〜数分以内に「エクスプローラは停止しました」
>場合によっては20分くらい経ってからクラッシュ
のような症状が出るとは考えにくいけどな
まあ、直ったって言うならそれでいいけど
226樵の結び目。
2016/09/03(土) 18:27:18.44ID:Ms7vNg4j227デフォルトの名無しさん
2016/09/28(水) 19:27:48.59ID:BVBInYIb vbaの And, Or って短絡評価してくれないの???
228デフォルトの名無しさん
2016/09/28(水) 20:30:34.84ID:X231kNmm229デフォルトの名無しさん
2016/09/28(水) 22:20:25.14ID:w7cfX4QA X(n) And Y(m) で X(n) = False だった場合、Y(m) は評価しなくても式が False と確定する
Or でも同様のことが可能
VBAがショートサーキットしているかどうかは、各関数で Debug ログを出力してみればわかる
Or でも同様のことが可能
VBAがショートサーキットしているかどうかは、各関数で Debug ログを出力してみればわかる
230デフォルトの名無しさん
2016/09/29(木) 04:55:17.68ID:IF5lu7hc >>229
いちいち短絡評価の説明なんてしなくていいよ...
いちいち短絡評価の説明なんてしなくていいよ...
231227
2016/09/29(木) 08:22:26.74ID:l2tsRcXf くぅ。
短絡評価してくれるもんだと思って、
True, False, Nullを返す関数の結果で、
NullをFalseに倒したくて、
左辺でNot isNullやってたけど、
右辺もNullで動いてしまってエラーになってはまったわ。
短絡評価してくれるもんだと思って、
True, False, Nullを返す関数の結果で、
NullをFalseに倒したくて、
左辺でNot isNullやってたけど、
右辺もNullで動いてしまってエラーになってはまったわ。
232デフォルトの名無しさん
2016/09/29(木) 12:46:05.66ID:tIM+raH6 VBAあるある
233デフォルトの名無しさん
2016/10/06(木) 19:51:33.65ID:prbbit7d .NetならOrElseやAndAlsoが使えるし
Nullable指定も出来るから便利なんだけどなー
まあ無いものねだりしても始まらないか
Nullable指定も出来るから便利なんだけどなー
まあ無いものねだりしても始まらないか
234デフォルトの名無しさん
2016/10/08(土) 17:43:11.29ID:fiaM9vLl VB(A)はWithとかある割にそういうとこは全然気が利かないよな
C言語すら知らない人が作った言語なんだろう事は判る
C言語すら知らない人が作った言語なんだろう事は判る
235デフォルトの名無しさん
2016/10/08(土) 22:59:38.27ID:315EhZFM VBって元々はMSじゃないんだよね BASIC好きのゲイツが惚れ込んで買収しただけ
236デフォルトの名無しさん
2016/10/27(木) 20:44:38.40ID:LE0ob9Yw vbaの中、上級者向けの書籍を教えてください
237デフォルトの名無しさん
2016/10/27(木) 21:44:23.99ID:BIHhfe0H 漠然と「VBAの初心者向けの本を教えてください」ってのはよくあるが、上級者向けは珍しいね
ある程度基礎が身に付き、やりたいことが分かってきていれば
○○に関する本、ってなるように思うんだが・・・
田中亨氏の「Excel VBA 逆引き辞典パーフェクト 」は名著だよ
ある程度基礎が身に付き、やりたいことが分かってきていれば
○○に関する本、ってなるように思うんだが・・・
田中亨氏の「Excel VBA 逆引き辞典パーフェクト 」は名著だよ
238デフォルトの名無しさん
2016/10/28(金) 04:23:54.86ID:s9odN72t239デフォルトの名無しさん
2016/10/28(金) 15:06:05.95ID:Sg+Wt/Uz アプリ作成で学ぶExcel VBAプログラミングユーザーフォーム&コントロール(横山達大著)
かんたんプログラミング 応用編(大村あつし著)
同じく、かんたんプログラミング コントロール関数編
デバッグ関連だと
立山秀利著の本
かんたんプログラミング 応用編(大村あつし著)
同じく、かんたんプログラミング コントロール関数編
デバッグ関連だと
立山秀利著の本
240デフォルトの名無しさん
2016/10/29(土) 23:22:10.90ID:b3lytwnZ VBAでコードを抜き出してSVNやgitで管理したりするとそれだけで上級者っぽくなる
241デフォルトの名無しさん
2016/10/30(日) 08:10:21.54ID:R4QvvoTp それ以上にバカっぽいけどなw
242デフォルトの名無しさん
2016/10/30(日) 09:23:46.57ID:2kQlDpFE 今時差分管理もしてないのかよ
243デフォルトの名無しさん
2016/10/31(月) 23:59:17.10ID:9abcSnRr VBACとか使ってんの?
244デフォルトの名無しさん
2017/02/06(月) 12:06:59.89ID:1XFRepCN PowerPointのVBAでファイルを閉じた後も変数の値が保存されるようにしたいんですが外部のテキストに書き出す以外にファイル本体にどうにかして埋め込む方法はありますか?
245デフォルトの名無しさん
2017/02/06(月) 14:57:53.43ID:atuXlQHb 透明のシェイプとかに書くとか色々あるけど
実際本体ファイルを更新されるとバージョン管理とか使う側が気持ち悪がるとか運用面で問題が出そう
実際本体ファイルを更新されるとバージョン管理とか使う側が気持ち悪がるとか運用面で問題が出そう
246デフォルトの名無しさん
2017/02/06(月) 19:29:23.46ID:4FxLnD3n Excel脳っすなぁ
標準的なユーザーデータ保存場所がちゃんとあるんだからそれ使えばいいじゃん
標準的なユーザーデータ保存場所がちゃんとあるんだからそれ使えばいいじゃん
247デフォルトの名無しさん
2017/02/06(月) 19:58:54.20ID:KOZLaxG/ >>246
どうすればいいでしょうか
どうすればいいでしょうか
248デフォルトの名無しさん
2017/02/06(月) 21:21:37.88ID:VJg+IRhi >>244
Presentation.CustomDocumentProperties
https://msdn.microsoft.com/ja-jp/library/office/ff744661.aspx
Presentation.CustomDocumentProperties
https://msdn.microsoft.com/ja-jp/library/office/ff744661.aspx
249デフォルトの名無しさん
2017/02/07(火) 07:09:26.95ID:HIDKMkau250デフォルトの名無しさん
2017/02/07(火) 07:27:10.54ID:ff698yUf251デフォルトの名無しさん
2017/02/07(火) 07:40:32.09ID:xddq+MTq ファイル本体に埋め込みすんのがアホなんだよわかれよ素人
ゴミを量産して人に迷惑かけないでくれ
独りよがりの仕事してんじゃねえよ
ゴミを量産して人に迷惑かけないでくれ
独りよがりの仕事してんじゃねえよ
252デフォルトの名無しさん
2017/02/07(火) 08:07:27.12ID:ff698yUf 単なる基地害だったのか
253デフォルトの名無しさん
2017/02/07(火) 20:25:02.30ID:1dqSFjs6 実際に仕事してるとそれこそ基地外避けを作る必要が出てきたりするんだよな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- AV女優さん「時間停止物」のAVを完全否定してネット騒然。お前らの夢が1つ潰える [152212454]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【雑談】暇人集会所part19
- ブラックフライデーでダークソウル買って初プレイしてみようかなと思うけどどうかな
