[[20140530132945]] 『Win7では使用できないコードなのでしょうか?』(たかやす) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Win7では使用できないコードなのでしょうか?』(たかやす)

http://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=[[20081023153339]]

こちらのichinoseさんの最終回答を使用して

Option Explicit
Sub ContinuousPrint()

    Dim fso As Object
    Dim ff As Object
    Dim ffi As Object
    Dim Rng As Range
    Dim myarray As Variant
    Set Rng = Range("I1", Cells(Rows.Count, "I").End(xlUp))
    If Rng.Count > 1 Then
       myarray = get_array(Rng)
       With CreateObject("Shell.Application")
          Set ff = .Namespace("C:\Users\AAA\Documents\【作業】\文書")
          End With
       Set fso = CreateObject("scripting.filesystemobject")
       For Each ffi In ff.items
          If ffi.IsFileSystem And (Not ffi.IsFolder) _
             And LCase(fso.GetExtensionName(ffi.Name)) = "xdw" _
             And Not IsError(Application.Match(fso.getbasename(ffi.Name), myarray, 0)) Then
                ffi.InvokeVerb "印刷(&P)"
                End If
          Next
       Set ffi = Nothing
       Set ff = Nothing
       Set fso = Nothing
       End If
 End Sub
 Function get_array(Rng As Range, Optional except As Long = 1) As Variant
    On Error Resume Next
    Dim rngA As Range
    With CreateObject("scripting.dictionary")
       For Each rngA In Rng
          If rngA.Row <> except Then
             .Item(rngA.Value) = ""
             End If
          Next
       get_array = .Keys
       End With
 End Function

としたのですが、XPに2003では動くのですが、WIN7で2003/2010共存で2003を使用して
動かすと印刷されないのです。
で、タイトルのようにWIN7だと動かないコードなのかな?と思った次第です。
解決方法はありますでしょうか?

< 使用 アプリ:2003 / 2010共存、使用 OS:Windows7 >


 こんにちは。

 ShellオブジェクトはOSに依存します。書かれたコードはWin2000〜XPでのみ使用可能です。
 Vista以降はInvokeVerbメソッドが存在はするが、なぜか使用はできませんので、

 >ffi.InvokeVerb "印刷(&P)"

 ここを

 Dim veb As Object
 For Each veb In ffi.Verbs
    If veb.name = "印刷(&P)" then
        veb.doit
        Exit for
    End If
 Next

 のようにしてみてはどうでしょうか。
(ちび坊主) 2014/05/30(金) 17:56

ちび坊主さん

動きました! ありがとうございます。
とても助かりました。
(たかやす) 2014/06/02(月) 16:52


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.