Teamsフォルダに格納したファイルのマクロを実行して格納しているフォルダにそのままPDFファイルを保存したい

村上 博明 20 評価のポイント
2024-06-30T23:22:57.23+00:00

現在、Excelで任意のデータを指定された枚数分PDF化するマクロを書き、OneDrive上に保存することはできたのですが、Teams上(SharePoint)に保存することができない状況です。

●行いたいこと:Excelマクロファイルを任意のTeamsのフォルダに格納。そのExcelマクロを開き、マクロを実行し、その任意のTeamsのフォルダに保存

●現在のコード
Sub continuousOutputAsPDF()

Const L_TARGET_CELL_ADDRESS As String = "M6"     ' 値設定対象のセル

Const L_STARTING_NUMBER     As Long = 1          ' 開始番号

Const L_ENDING_NUMBER       As Long = 205        ' 終了番号

Const L_STEP                As Long = 1          ' 番号の増分値

' PDF出力先フォルダの選択 **←①**

MsgBox "出力先のフォルダを選択してください", vbInformation

Dim strFolderPath As String

With Application.FileDialog(msoFileDialogFolderPicker)

    If .Show Then

        strFolderPath = .SelectedItems(1) & Application.PathSeparator

    Else

        Exit Sub

    End If

End With

' PDF出力

Application.ScreenUpdating = False

Dim i As Long

For i = L_STARTING_NUMBER To L_ENDING_NUMBER Step L_STEP



    ' 値設定対象セルに値を設定

    ActiveSheet.Range(L_TARGET_CELL_ADDRESS).Value = i


    

    ' PDFファイル名を生成(セル"L2"の値を使用)

    Dim strFileName As String

    strFileName = strFolderPath & Range("L2").Value & ".pdf"


    

    ' アクティブシートをPDFとして出力

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _

                                    Filename:=strFileName, _

                                    OpenAfterPublish:=False

Next i

Application.ScreenUpdating = True
```End Sub

①の部分をフォルダを指定せず、格納先のフォルダにそのままPDFで保存したい。

どなたかご教示ください

SharePoint
SharePoint
コンテンツ、知識、アプリケーションの共有と管理に使用される Microsoft 製品とテクノロジのグループ。
32 件の質問
Visual Basic for Applications
Visual Basic for Applications
Microsoft 製品に組み込まれている Visual Basic の実装。
18 件の質問
{count} 件の投票

承認済みの回答
  1. simo-k 475 評価のポイント
    2024-07-02T04:07:29.18+00:00

    OneDrive上に保存することはできたのですが、Teams上(SharePoint)に保存することができない

    組織向けOneDrive for Businessでは出来たという意味であれば、Teams裏のSharePointにて "パス"を取得して下さい。

    FileDialogでは、SharePoint/OneDriveのパスは標準的な手法では取得出来ません。

    非推奨の手法を用いて、ファイル破損などを覚悟されているのであれば、FileDialogを生かした形で実現可能です。

    ※ 非推奨であり、かなり複雑な手順になる事といつまで使える手法か定かではないので記載しません。

    破損覚悟であれば、どちらかと言うとマクロ専用コミュニティの方が情報は集まりやすいかも?

    Stack Overflow(VBA)

    1 人がこの回答が役に立ったと思いました。

0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。