Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12155 / 13645 ツリー ←次へ | 前へ→

【12062】急に印刷できなくなりました みーちゃん 04/3/23(火) 11:22 質問
【12063】Re:急に印刷できなくなりました Asaki 04/3/23(火) 11:31 回答
【12065】Re:急に印刷できなくなりました Jaka 04/3/23(火) 11:34 回答
【12066】Re:急に印刷できなくなりました みーちゃん 04/3/23(火) 11:42 質問
【12068】Re:急に印刷できなくなりました Asaki 04/3/23(火) 12:46 回答
【12070】Re:急に印刷できなくなりました みーちゃん 04/3/23(火) 13:39 お礼

【12062】急に印刷できなくなりました
質問  みーちゃん  - 04/3/23(火) 11:22 -

引用なし
パスワード
   先日投稿したものです。

教えていただいたかいもあって、投稿直後は動いていたのですが、
昨日実行したところ、急に、ThisWorkbook.Name のNameが黒くなって
型が一致しませんと言われてしまうようになってしまいました。
あれからこの関数に関しては、どこもいじっていないのに、
どうしてなんでしょう???

Sub aa()

  Dim myObj As Object
  Dim myDir As String
  Dim myFileName As String
  Dim myFileList As String
  Dim fileFullname As String
  Dim myFileCount As Long
  Dim wbPrint As Workbook
 
  Set myObj = CreateObject("Shell.Application")
  myDir = Sheets("bbb").Cells(14, "C") ← ここにディレクトリ名が書いてある
  myFileName = Dir(myDir & "*.xls")
  
  While myFileName <> vbNullString
    Application.ScreenUpdating = False
    If myFileName Is ThisWorkbook.Name Then myFileName = Dir()
    fileFullname = myDir & myFileName
    Set wbPrint = Workbooks.Open(fileFullname)
    wbPrint.Worksheets("ccc").PrintOut
    wbPrint.Close
    myFileCount = myFileCount + 1
    myFileName = Dir()
    Application.ScreenUpdating = True
  Wend
  
  'ファイルがなかった場合
  If myFileCount = 0 Then
    MsgBox "ファイルは見つかりませんでした。マクロを終了します。"
    Exit Sub
  '見つかったファイルの個数を表示
  Else
    MsgBox myFileCount & "個のファイルが見つかりました"
  End If
  
End Sub

【12063】Re:急に印刷できなくなりました
回答  Asaki  - 04/3/23(火) 11:31 -

引用なし
パスワード
   こんにちは。

>If myFileName Is ThisWorkbook.Name Then myFileName = Dir()

If myFileName = ThisWorkbook.Name Then myFileName = Dir()
でしょうか。。。?

【12065】Re:急に印刷できなくなりました
回答  Jaka  - 04/3/23(火) 11:34 -

引用なし
パスワード
   If myFileName Is ThisWorkbook.Name Then myFileName = Dir()
       ↓
If myFileName = ThisWorkbook.Name Then myFileName = Dir()

【12066】Re:急に印刷できなくなりました
質問  みーちゃん  - 04/3/23(火) 11:42 -

引用なし
パスワード
   ありがとうございます。

その他、今、渡す相手がstringなのだからということで試しに、
If (StrComp(myFileName, ThisWorkbook.Name) = 0) Then myFileName = Dir()
とやってみてもできたのですが、これは間違った書き方でしょうか?

【12068】Re:急に印刷できなくなりました
回答  Asaki  - 04/3/23(火) 12:46 -

引用なし
パスワード
   >その他、今、渡す相手がstringなのだからということで試しに、
>If (StrComp(myFileName, ThisWorkbook.Name) = 0) Then myFileName = Dir()
>とやってみてもできたのですが、これは間違った書き方でしょうか?
上手く行ってるのであれば、良いのでは?
強いて言えば、第3引数がデフォルトのBinaryモードでの比較、でよいかどうか、ですが。

【12070】Re:急に印刷できなくなりました
お礼  みーちゃん  - 04/3/23(火) 13:39 -

引用なし
パスワード
   ▼Asaki さん:
>上手く行ってるのであれば、良いのでは?
>強いて言えば、第3引数がデフォルトのBinaryモードでの比較、でよいかどうか、ですが。
そうですね。
ちゃんと勉強してやっているのではなく、
超初心者が、見ようみまねでなので、
細かい部分がよく分からないくて
いいのかなぁ...と思うことがよくあるんです。
ありがとうございました。
Jakaさんもありがとうございました。
これからもよろしくお願いします。

12155 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free