- 締切済み
<EXCEL2007 VB(VBA) カレントフォルダの変更方法>
<EXCEL2007 VB(VBA) カレントフォルダの変更方法> VBからプログラムで用途に合わせてEXCELの読み出し、保存のフォルダ位置をコントロールしようとしています。 ファイルの読み出し、保存指定の時に希望のカレントフォルダを開けるように、プログラムでCHDIRやチェンジドライブを指定してから「GetOpen」「GetSaveAs」を実行しても、カレントフォルダはマイドキュメントから変わりません。 「EXCELのオプション-保存-規定のファイルの場所」では、固定化されてしまうので利用出来ません。 EXCEL2007では方法が変わったのでしょうか? 検索しても中々、トピックスに出会わないので思い切って質問に出してみました。 わかる方いましたらよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- Excel VBA カレントフォルダのひとつ上のフォルダを指定したい
はじめて質問をさせていただきます。 ExcelのVBA初心者なのですが、既存のファイルに継ぎ足しで新規のファイルを作成しております関係上、カレントフォルダのひとつ上のフォルダを指定したいと考えております。 変数=thisworkbook.path のようにカレントフォルダの取得の仕方は分かったのですが、そこからひとつ上を指定する方法などはあるのでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- ExcelVBAでファイルを開くフォルダ指定方法
ExcelのVBAを用いて実験データのcsvファイルをまとめるプログラムを書いています. 肝心のプログラムはほぼできています. しかし OpenfileName = Application.GetOpenFilename("CSVファイル,*.csv?") としたときに開かれるフォルダ(ファイルを指定するフォルダ)がカレントフォルダ?となっております. 実行するExcel(VBA入り)と実験データが下記のパスにあったとして C:\Users\ABC\Documents\Data\110302\ カレントフォルダはなぜかマイドキュメントがデフォルトになってしまいます. C:\Users\ABC\Documents\ 階層移動できるので問題なくもないのですが,一々階層移動するのも面倒なので修正したいと考えております. そこで (1)プログラム実行直前にカレントフォルダを実行するExcel(VBA入り)の位置に変更する方法 (2)カレントフォルダと関係なく実行するExcel(VBA入り)があるフォルダを開く方法 どちらかで対処できると考えたのですがその方法が見つかりません. (ちなみに実行するExcel(VBA入り)の位置は動かすものとするので絶対パスでの指定はなしとします) どなたかご教授お願いします.
- ベストアンサー
- Visual Basic
- 別ファイル起動時にはカレントフォルダの変更が必要?
「マクロの記録」のボタンをクリックして以下の作業のマクロ構文をPCに自動記述させた場合 「ChDirステートメント」で必ずカレントフォルダが変更される一文が記述されます 1.別ファイルを起動させた場合 2.「名前を付けて保存」の処理を実行させた場合 そのため、今までは「カレントフォルダ」を変更しないことには他のファイルやブックを使用できない とばかり思っていましたが、下記ホームページを拝見したところフルパス名を使用するのであれば 特に「カレントフォルダ」を変更する必要はなさそうであることが分かりました。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_140.html これって、他のファイルやブックを使用する際に「ファイルを開く」などの操作で「ファイルの場所」を 特定したその作業をPCがマクロ処理として構文を自動作成してしまっただけの「ChDir」であって、 実際のファイル起動などのマクロ構文をフルパス名で記述するのであれば、「ChDirステートメント」 でのカレントフォルダ変更は特に必要ないという認識で正しいのでしょうか? このことについては何となく理解できたのですが、下記4点について詳しく知りたいので宜しく お願いします。 1.「ChDrive」、「ChDir」を省略した方がファイルが軽くなるのか(処理が早くなるのか) 2.「ChDrive」、「ChDir」を記述した方がファイルが軽くなるのか(処理が早くなるのか) 3.FSOなどでファイルやフォルダを新たに作成する場合は「ChDir」の記述をした方が良いのか 4.常にフルパス名でマクロ処理することによるデメリットはあるのか 以上です。宜しくお願いします。
- ベストアンサー
- Visual Basic
- EXCELファイルのカレントフォルダを取得するには?
EXCELファイルのカレントフォルダを取得するには? C:\経理\予算.xls D:\2005年度\予算.xls EXCEL97ファイルがあります。 VBAで カレントフォルダ名 (C:\経理\,D:\2005年度\) を取得する事は可能でしょうか? CURDIRでは上手い方法が見つかりませんでした。
- ベストアンサー
- オフィス系ソフト
- VBA ネットワーク上のファイルでカレントフォルダを取得するには?
VBA ネットワーク上のファイルでカレントフォルダを取得するには? VBA超初心者でネットで色々調べて、ところどころコピーしながらプログラムを作っています。 ローカルのPCでは問題なく動くまでになったのですが、実際にはネットワーク上の共有サーバで実行したいのですが、ネットワーク上ではカレントパスがうまく設定できていないようで、動きません。 CreateObject("WScript.Shell").CurrentDirectory = ThisWorkbook.Path というコードでVBAが置いてあるフォルダをカレントディレクトリに設定するようにしています。 どのようにしたらネットワークサーバで動くようになりますか?
- ベストアンサー
- Visual Basic
- エクセル2003にてカレントフォルダを確認する方法
エクセル2007の場合は http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_140.html のやり方で、「EXCELのオプション」から確認できるようですが エクセル2003の場合どこから確認できますか? ファイル→プロパティ→ファイルの情報を見てもありません。 その「ファイルの情報」のパスと、VBAでCurDirをした時の戻り値が違うので、 「ファイルの情報」のパスはカレントフォルダではないですよね?
- ベストアンサー
- オフィス系ソフト
- Excel97VBAで、カレントディレクトリを取得する方法
Excel97のVBAで、ワークブックの保存ボタンを作成しています。 1.xlsというファイルを、一旦、1.prn(スペース区切りテキスト)でデスクトップに保存し、再度元のディレクトリの1.xlsに上書き保存する。というマクロを作っています。 SaveAsでFileFormatを変更するところまではわかったのですが、元のファイルに上書きする方法がわかりません。 一度、カレントディレクトリを取得して、同じ名前を付けて保存する、という方法になるのではないかと思いましたが、カレントディレクトリの取得方法がわかりません。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- VB6でEXCELの表をHTML形式で保存する方法は?
VB6でEXCELのデータを作成してHTML形式で保存したいのですが、根本的にできないものでしょうか? EXCELのVBAではWebページで保存ということができるので試行錯誤してみたのですが VB6のヘルプでSaveAsメソッドを見る感じでは新しいファイル名までは指定できますが保存形式はEXCEL VBAのように指定できないようです。 XLSファイルの表までは完成できますが、そのXLSファイルをHTMLファイルにできればぃぃんです。 VB6からEXCELを制御してHTML形式で保存させるとか なにかいい方法はないでしょうか?
- ベストアンサー
- Visual Basic
- PowerPointのカレントフォルダを移動したい
PowerPointと組み入れた動画のファイルは全て同じフォルダに入れているのですが、 組み込んだ動画の再生が、開いた後の一度しか再生できなくなっていて困っています。 どうもPowerPoint開いたときのフォルダが再生後に既定のフォルダに移動してしまって いるようなのです。ということで、EXCELでできる以下のことと同様のことをPowerPointで したいです。なお、使ってるPowerPointは 2010 です。 Sub カレントフォルダの移動() Dim strPath As String strPath = ThisWorkbook.Path ChDrive strPath ChDir strPath End Sub できれば、PowerPointを開いた時に動作させたいです。 よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- VB2005でExcel2003とExcel2007
初めまして、VB2005でExcelに出力するプログラムの開発を 行っているのですが、大変困っています。 どなたか教えて頂けないでしょうか。 VB2005の参照設定でMicrosoft Excel12.0 Object Library指定 してExcel2007をインストールしているパソコンでは Excelに出力できますがExcel2003を インストールしているパソコンではExcelに出力できません。 又、VB2005の参照設定でMicrosoft Excel11.0 Object Library指定 してExcel2003をインストールしているパソコンでは Excelに出力できますがExcel2007を インストールしているパソコンではExcelに出力できません。 Excel2003・Excel2007どちらがインストール されていてもExcelに出力できるプログラムを作成したいの ですが、何か方法はないでしょうか。 サンプル等があるHPがありましたら教えてください。
- 締切済み
- Visual Basic
- 先週、元カノと別れました。別れた理由は元カノに仕事が忙しく精神状態が落ち着かない、僕が人の話しを聞かない、自分勝手だからと言われ、それに僕が、別れないで落ち着くまでしばらく会わない方がどうかと言いました。しかし、それに元カノに自分で気づいてないなと言われ僕が何かやらかしたと思い聞こうとするとしつこいと言われました。
- 元カノが精神の病気を持っていて僕と付き合ったときにも本当は付き合えない状態だけど僕に魅力を感じて僕だったら元カノを支えてくれると信じていたみたいです。そして僕も責任があると思い、学生にも関わらず元カノが困っていたときにいつも側にいてくれました。しかし元カノが配信が好きで僕といるときにもずっと配信の話しかしないのです。それに僕の返事が適当だったので多分それが理由で人の話を聞かないと言われたと思います。
- 今良く考えると確かに僕が全て悪かったのです。好きな人ができただけで浮気までひどい言葉を彼女に言って心に傷つけました。本当に悔しくて辛いです。確かに彼女が病気持ちで普通の人とは少し違うところがあることを分かった上で付き合ったのに僕が彼女を理解できませんでした。
補足
返事が大変遅くなりました。 現地調整でトラブル続発で、HP見る余裕すらありませんでした。 結論から言いますと、APIの「apiGetOpenFileName」を利用したら、フォルダ移動が出来るようになりました。 VBから制御しているためでしょうか。 一応解決出来ましたので、遅ればせながら報告致します。 色々、お手間をおかけいたしました。