Microsoft Access 掲示板

汎用関数を作りたい / 1

12 コメント
views
4 フォロー
1

返り値が必要ならFunctionプロシージャ、返り値が必要なければSubプロシージャを使えばいいでしょう。
とくに返り値がなくても処理が成功したか、失敗したかを返すためにFunctionにすることはよくあります。

具体例があったほうが分かり安いと思いますので、現状の「ファイル1を保存する」のコードを提示してもらったら、それをもとにどのように汎用関数(プロシージャ)にするか説明できると思います。

通報 ...
  • 2
    ポンタ 2020/09/02 (水) 20:32:50 0029a@1c915 >> 1

    ありがとうございます。
    コードを記載します。

        Dim aName As String
        Dim bPath As String
        Dim cPath As String
        Dim dText As String
        Dim fText As Stirng
        Dim gText As String
    
        If IsNull(Me.txt●●) Then
        MsgBox dText & "を記入してください"
        Exit Sub
                ElseIf AcDir(bPath, vbDirectory) = "" Then
                MsgBox "トップページに保存しているフォルダが存在しません。"
                Exit Sub
                     ElseIf AcDir(bPath & aName, vbNormal) = "" Then
                     MsgBox bPath & "が見つかりません。"
                     Exit Sub
                          ElseIf AcDir(cPath & fText, vbDirectory) <> "" Then
                          FileCopy bPath & aName, cPath & fText & "\" & aName
                          Shell "Explorer.exe " & cPath & fText & "\", vbNormalFocus
                          Exit Sub
                                ElseIf AcDir(cPath & gText , vbDirectory) <> "" Then
                                MsgBox "「" & fText &"」フォルダが見つかりません。「" & gText &"」フォルダに保存します。"
                                FileCopy bPath & aName, cPath & gText & "\" & aName
                                Shell "Explorer.exe " & cPath & "gText & "\", vbNormalFocus
                                Exit Sub
                                    Else: MsgBox "「"& fText & "」「" & gText & "」フォルダのどちらも見つかりません。"
                                             Shell "Explorer.exe " & cPath, vbNormalFocus
                                    
        End If
        End Sub```
    
    3
    ポンタ 2020/09/02 (水) 21:05:22 0029a@1c915 >> 2

    AcDirは、下記サイトを採用させていただいております。
    https://www.feedsoft.net/access/tips/tips47.html

    4
    ポンタ 2020/09/03 (木) 07:49:40 f1ed8@025a2 >> 2

    元々変数を使っていなかったところを、昨夜変数にしたのですが、部分的に変換間違いでおかしいところがあるようです…スミマセン。

    5
    ポンタ 2020/09/03 (木) 07:57:45 f1ed8@025a2 >> 2

    MsgBox bPath &"が見つかりません。"

    MsgBox bPath & aName &"が見つかりません。"