- ベストアンサー
ファイルやフォルダの有無、他のユーザーの使用状況を調べたい
ExcelVBAの書き方で質問があります。 ファイル名やフォルダ名を指定して… (1)フォルダにファイルが存在するかどうかを調べる方法 (2)フォルダが存在するかどうかを調べる方法 (3)ファイルが他のユーザーの使用中になっているかを調べる方法 現在は(1)については、Workbooks.Open Filename:=~でファイルが無ければ、On Error GoToで分岐させるといった方法を行っているのですが、もっとダイレクトに有無を調べる方法が知りたいのです。 (2)や(3)については、どうすればよいのやら? 初心者ですので、簡単な表現でお願いします。 よろしくご教授下さい。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 他のフォルダにあるファイルからユーザーフォーム表示
現在(1)の方法でやってますが、これを (2)の方法でユーザーフォームを表示したいです。この方法するためのコードを教えてほしいです。超初心者なので具体的に教えてほしいです。 (1)デスクトップにフォルダ「A処理」があり、開くとB.xlsm とC.xlsm 二つのファイルがあり、C.xlsm を選ぶと同時にユーザーフォームが開きます。 (2)デスクトップにフォルダ「A処理」があり、開くとB.xlsm とフォルダ「A 計算」があります。フォルダ「A計算」の中に、C.xlsm があります。 B.xlsm を選ぶと、ユーザーフォーム(表紙)が表示され、その中のコマンドボタンを押すと、フォルダ「A計算」の中のC.xlsm が表示されますが、ユーザーフォームは、ひらきません。 そのコマンドボタンには、次のコードが入っています。 Private Sub CommandButton96_Click() A表紙.Hide Workbooks.Open Filename:=ThisWorkbook.Path & "\A計算\C.xlsm" load UserForm1 UserForm1.Show Sheets(1).Select End Sub
- ベストアンサー
- Visual Basic
- アクセスのMDBファイルを他のユーザーに強制的に読
アクセスのMDBファイルを他のユーザーに強制的に読み取り専用で開かせる方法は? 私が作ったファイルを他の人にメールで送って その人はローカルで保存し、共有ではなく一人で使う場合、 読み取り専用にしたいです。 エクセルなら Private Sub Workbook_Open() Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & ActiveWorkbook.Name, ReadOnly:=True End Sub でできましたが アクセスの場合は どうすればいいでしょうか? ヴァージョンは2003です。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Aファイルでマクロを組み他のファイルを動かしたい
Sub マクロ1() Workbooks.Open Filename:="C:\Users\inoue\Documents\BB.xls" ここでファイル名を選ぶのはどんな命令文 したら良いかご指導願います (ファイル名がその度に変更するため) Range("D7:H16").Select With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid End With Selection.Interior.ColorIndex = 6 Range("D18").Select Windows("A.xls").Activate End Sub 上記の命令文で ファイル呼び出しの時 他のフォルダのファイル名 その都度選びたいのですご指導願います
- ベストアンサー
- その他(データベース)
- Excel VBA の ChangeFileAccess
Excel(2000 SP-3) VBAの ChangeFileAccessがうまく行きません。 VBAからあるExcelファイルをWorkbooks.Open で開く処理の制御で悩んでいます。 2人で同時にマクロでhoge.xls をOpenすると、どちらも「他のユーザが使用中です」的なメッセージが出ませんでした。 (エクスプローラからクリックしたりして、hoge.xlsを直接開くと、他のユーザが使用中かどうかがわかります) それでは困るので、ChangeFileAccess のNotify:=true をセットしてみたら、2人目は他のユーザが使用中である旨のメッセージが出るようになりました。 しかし、ChangeFileAccess のNotifyはちゃんと設定されているようなのですが、 'ChangeFileAccess'メソッドは失敗しました:'_Workbook'オブジェクト とエラーが出ています。 ChangeFileAccessはどう使うのが正しいのでしょうか? ソースは Workbooks.Open Filename:=ThisWorkbook.Path & "\hoge.xls", updatelinks:=1, Notify:=True ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, Notify:=True って感じなのですが。 Workbooks.Openはちゃんとできています。Workbooks.OpenがコケたらOn Error Goto で拾ってMsgBoxでメッセージを出す、という処理をしているのですが、Workbooks.OpenはOKなのにChangeFileAccessでコケて、On Error Goto に引っかかってしまっています。
- ベストアンサー
- Visual Basic
- コマンドプロンプトによるフォルダ内のファイル存在有無
バッチ処理で、特定のフォルダ内(配下にフォルダとファイルが混在している)でファイルだけの存在有無を調べて、ファイルが存在している場合とファイルが存在していない場合で処理を別々に行わせようとしたいのですが、ファイルの存在有無はどのようにコマンドで調べれば良いでしょうか? DIR C:\test\*.* でファイルを調べて、ERRORLEVELでif判定させようと思っているのですが、 DIRコマンドでこれを行うと、フォルダまで表示されます。 どのようにしたら良いのでしょうか?教えてください。
- ベストアンサー
- Windows系OS
- 【Windows7】ユーザーフォルダが見えなくなりました
ユーザーのドキュメントフォルダ場所を移動させようと、Dドライブへ移す作業をしていたら、「C\User\[ユーザー名]」フォルダが見えなくなってしまいました。 フォルダを表示する設定か何かあれば、教えて頂けませんでしょうか? インストールしたばかりのときは見えていました。 ユーザーフォルダより下層のファイルを検索すると、「C\User\[ユーザー名]\.....」とパスが出るので、存在はしていると思います。 フォルダオプションですべてのフォルダ、ファイルを表示設定にしていますが、見えないままです。 同じように、いろいろ動かしているうちに、マイミュージックフォルダも見えなくなってしまい、10GBもある音楽ファイルが行方不明です。(検索すれば出ますが) とりあえずshellコマンドでマイミュージックフォルダを復活させる方法を調べられましたが、ファイルが入っているフォルダは見えないままです。 OSはWindows7 Home Premium 64bitです。 2000から乗り換えたので、だいぶ浦島太郎状態で混乱しています;; 宜しくお願い致します。
- ベストアンサー
- Windows系OS
- フォルダ内の全てのファイル開く時間短縮の方法
Excelのマクロを使ってフォルダ内の全てのファイルを開く以下のコードを利用しているのですが(教えてgoo!で教えて頂いたコードです)、ファイル数が10個くらいあるため全部開くのに1分くらいかかってしまいます。 もっと時間を短縮することはできませんでしょうか? Sub OpenAllBook() Dim FileName As String Dim OpenedBook As Workbook Dim IsBookOpen As Boolean ChDir ("フォルダ名") FileName = Dir("*.xls") Do While FileName <> "" If FileName <> ThisWorkbook.Name Then IsBookOpen = False For Each OpenedBook In Workbooks If OpenedBook.Name = FileName Then IsBookOpen = True Exit For End If Next If IsBookOpen = False Then Workbooks.Open (FileName) End If End If FileName = Dir() Loop End Sub
- ベストアンサー
- Windows系OS
- 以前使用していたPC名がユーザフォルダに残る状況?
今晩は、質問させていただきます。どうぞよろしくお願いいたします。 環境:Lenovo製ノートPC 型式:G580 Win7 Professional Corei5 64Bit でございます。 Administratorでログインしておりますが、何故か「C:\Users」フォルダ内に 「Administrator」 と 「Administrator.ユーザー1」 (「ユーザー1」は以前にコンピュータ名に使用していた文字列で、Administratorとの間にドットが入っております) というフォルダ2つが存在し、ドキュメントフォルダ内に作成したファイルが後者のフォルダに入ってしまい、困っております。 (例えばスタートメニューの「ドキュメント」をクリックすると「ライブラリ¥ドキュメント」フォルダが開きますが、そこに何らかのファイルを作成してそれのプロパティを見ますと、 「場所: C:\Users\Administrator.ユーザー1\Documents」 となっております。) 数日前にもアドバイスいただきまして、コマンドプロンプトから試しに 「net user Administrator.ユーザー1 /Active:no」としてみましたが消せませんでした。。。 このようなフォルダができそうな原因だけでも何か分かれば、解決の糸口が見つかるのでは、と思うのでございますが、 もし何か思いつかれる事がございましたら、是非ともお教えいただきたくお願い致します。 もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。
- ベストアンサー
- Windows 7
- C# ネット上のファイルの有無確認
string fileName = @"C:\test.txt"; if (System.IO.File.Exists(fileName)) { MessageBox.Show("'" + fileName + "'は存在します。"); } else { MessageBox.Show("'" + fileName + "'は存在しません。"); } このようなC#ソースを見つけたので、これをネット上のファイルの有無確認に転用したいです。 string fileName = @"http://cmm001.goo.ne.jp/img/logo/goo.gif"; このように変更しても確認は出来ないようです。 指定方法を教えて下さい。
- 締切済み
- C・C++・C#
お礼
うまくいきました! ありがとうございました! 具体的に書いていただき、大変助かりました! またよろしくお願いします!