[[20030611192844]] 『Windowsで作成したマクロをマックで使えるように』(takao) ページの最後に飛ぶ

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

 

『Windowsで作成したマクロをマックで使えるように』(takao)

Windows版で作成した保存/読込マクロをマックで使えるようにして下さい。
はじめまして、マクロ初心者です。
このマクロははWindows版Excel2000のVBEで作成したものですが、Macintosh版Excel2001で実行すると以下のようなエラーが出てしまいます。マックを使用した経験はありませんしマック本体もありません。どこをどのように修正すれば正常になるのでしょうか。
なお、コードについては無用な改行が入らないように、テキストファイルとしてホームページにアップしておりますので、「右端で折り返す」のチェックを外せば意図しない改行が入っていない状態で確認して頂けると思います。URLは、“http://www.aa.alpha-net.ne.jp/aporo11/Macro.txt”です。
宜しくお願い致します。

保存マクロを実行した場合のエラー表示
実行時エラー '1004':
'GetSaveAsFilename' メソッドは失敗しました:'_Application' オブジェクト

読込マクロを実行した場合エラー表示
実行時エラー '1004':
'GetOpenFilename' メソッドは失敗しました:'_Application' オブジェクト

Sub 保存()

    Dim defoltFName As String
    Sheets("入力表").Select
    Application.ScreenUpdating = False
    Range("A1:AA100").Select
    Selection.Copy

    Set NewBook = Workbooks.Add
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    With ActiveWorkbook
        .Title = "空気環境測定.xlsのデータ"
        .Subject = "入力表データ"
        .Author = ""
        .Keywords = ""
        .Comments = "空気環境測定_Excel2000「入力表」のデータファイルです"
    End With

    If Worksheets(1).Cells(13, 5).Value Then
        defoltFName = Cells(4, 18) & Application.Text(Range("E13"), " ggge年m月")

    Else
        defoltFName = Cells(4, 18)
    End If

    fileSaveName = Application.GetSaveAsFilename(defoltFName, filefilter:="空気環境測定_Excel2000データファイル(*.air),*.air")

    If fileSaveName <> False Then
        On Error GoTo Error1
        NewBook.SaveAs Filename:=fileSaveName
    Else
        NewBook.Saved = True    '保存しない
    End If

    NewBook.Close
    Range("C1").Select  '入力表に戻る
    Application.ScreenUpdating = True
    Exit Sub

Error1:

    NewBook.Saved = True    '保存しない
    NewBook.Close
    Range("C1").Select  '入力表に戻る
    Application.ScreenUpdating = True
End Sub
__________________________________________________
Sub 読込()
    Sheets("入力表").Select
    ActiveSheet.Unprotect

    openfilename = Application.GetOpenFilename("空気環境測定_Excel2000データファイル(*.air), *.air")

    If openfilename = False Or InStr(openfilename, "空気環境測定_Excel2000") > 0 Then
        ActiveSheet.Protect
        Exit Sub
    End If
    On Error GoTo Error1
    Application.ScreenUpdating = False

    Workbooks.Open Filename:=openfilename
    Selection.Copy

    Windows("空気環境測定.xls").Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    Range("A1").Select
    Application.CutCopyMode = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Application.Windows(2).Close

Error1:

    Windows("空気環境測定.xls").Activate
    Sheets("入力表").Select
    ActiveSheet.Protect
    Range("C1").Select
    Application.ScreenUpdating = True
End Sub

 マックって拡張子無いんじゃないんですか?
 だから
 filefilter:=〜 とか、
 *.air というのはマズイんじゃないでしょうか?

 (ramrun)同じくマックを持ってない人

そうですよね。私のあやふやな記憶でも拡張子は無かったです。

で、具体的にどう修正すればよいのか、どなたかのお知恵を借りたい次第です。

(takao)


コメント返信:

[ 一覧(最新更新順) ]


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