2017-07-11 47 views
0

これはVBAを初めて使用したときの1つです。私は私のsharepointのオンラインドキュメントページにファイルを保存するはずのコマンドボタンを持っています。私は、 "Excelサービス"を使用して手動でExcelドキュメントのページに保存することができますが、私はVBAで同じことをしようとすると、私は許可を持っていないと言っています。以下は私が使用しているコードですが、どんなアドバイスも大歓迎です!VBA(許可エラー)を使用してSharepoint Onlineにファイルを保存できません

Private Sub CommandButton1_Click() 

    Dim path as string 
    dim filename1 as string 

    path = "https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents" 
    filename1 = Range("B3").text 
    activeworkbook.SaveAs FileName:=path & filename1 & ".xlsx", _ 
          FileFormat:=xlopenxmlworkbook 

End Sub 
+0

@OPこのソリューションはあなたのために機能しましたか? –

+0

しました!私を助けてくれてありがとう、非常に感謝します。 – sbvt802

答えて

1

あなたの現在のファイルはあなたが保存したい先と同じフォルダ内にある場合、pathの定義については、この変更をしようとは:

path = "https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents/" 

あなたのコード内で欠落している最終/がありますpath & filename1 & ".xlsx"

メートル
https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents[filename1].xlsx 

に評価されるため、無効にするFileName引数を引き起こしアクセス許可が​​フォルダで制限されていない場合は、その場所に悪い名前のExcelブックを作成してしまいます。


ALTERNATIVEソリューション


潜在的問題のための別の解決策。新しいExcelファイルを保存する場所に空のブックを保存します。空のExcelファイルを開き、そこでマクロを実行します。それは代わりに動作するかどうかを確認するために、これを試してみてください

path = ActiveWorkbook.Path & "\" 

:にpath行を変更します。これは私がSharepointの権限の問題を回避した方法です。

+0

その場合、OPは最終的な '/'を追加するのを忘れました。私は今編集することができます。それは、Sharepointからアクセスしても、OPのためにはまだ動作します。 –

+0

ああ、私は今参照してください。 OPは 'https://xxxxxx.sharepoint.com/sites/xxxxx/Shared DocumentsMyAwesomeWorkbook.xlsm'に保存しようとしています –

+0

そうです。私の元の提案は、OPがsharepointの場所にある既存のファイルから新しいファイルを保存しようとしていればうまくいきました。このソリューションは正常に動作しますが、堅牢ではありません(これは、この* 1の場所でのみ動作し、多数の場所では動作しません)。 –

関連する問題