Excel宏为插件添加位置

时间:2012-02-17 13:59:43

标签: excel-vba pdf-generation excel-2007 vba excel

只是想知道把这个宏放在哪里。当用户点击保存时,它应该导致正确标记的excel文件保存为PDF。我有一个类似的宏工作没有Word的问题,但对于我的生活,我似乎无法解决这个宏的位置。

我正在使用Excel 2007在Xp Sp3上运行。我尝试将它保存在.xlam中的模块中C:\Program Files\Microsoft Office\Office12\XLSTARTC:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Office\12.0C:\Documents and Settings\username\Templates等等。但是没有喜悦?

我错过了一些明显的事情(毫不奇怪)吗?

Sub FileSave()
'
' FileSave Macro
'
'
  Dim StrFile As String
  Dim StrPath As String
  Dim StrName As String
  Dim StrPDFName As String

  StrPath = ActiveSheet.Path 'Get document path
  StrFile = ActiveSheet.Name 'Get document name

  If StrName <> "" Then

    MsgBox "We have a string name"

    StrName = Left(StrFile, (InStr(StrFile, ".") - 1))

      StrPDFName = StrPath + "\" + StrName + ".pdf"

      If InStr(StrFile, "_fmpro_temp") Then

        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= StrPDFName, _
            Quality:= xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

        MsgBox StrName + " has been saved. " & vbNewLine & _
            "If you're finished, please close the file," & vbNewLine & _
            "and return to FileMaker to accept or discard this version.", _
            vbInformation, "FileMaker Pro Versioning"

      End If

  End If


End Sub

2 个答案:

答案 0 :(得分:0)

如果这是一个Excel加载项,那么如果你打电话

Application.UserLibraryPath()

这将为您提供保存加载项的目录,例如:C:\ Documents and Settings \ Username \ Application Data \ Microsoft \ AddIns \

答案 1 :(得分:0)

插件的位置应与插件尝试保存用户文档的位置不同。 (即通常你不混合程序和文件)。 您通常希望将Excel插件存储在两个位置之一;要么是所有PC用户,要么是个人用户。不同的是,个人用户的插件通常是自定义或特殊的。 有关存储插件的位置,请参阅stackoverflow: where to store excel addin

要存储用户的PDF文档,您应该使用标准的打开文件对话框为用户提供覆盖保存位置的选项,该对话框已经以用户的文档目录作为根目录。