2012-02-17 58 views
0

只是想知道把宏放在哪裏。它應該導致正確標記的Excel文件ato保存爲PDF格式,以及每當用戶點擊保存。我有一個類似的宏工作沒有Word的問題,但對我的生活,我似乎無法計算出這個宏的去向。Excel宏插件 - 插件的位置

我在XP SP3運行與Excel 2007年我已經嘗試將其保存在一個模塊中一個.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 
+0

爲什麼要在第一個'If'之前添加'debug.print strPath,strFile'?這應該給你一個暗示,我猜。 – 2012-02-17 14:06:36

+0

我也試過'C:\ Program Files \ Microsoft Office \ Office12 \ Startup'這應該是一個值得信賴的位置... – Dycey 2012-02-17 14:20:07

+0

@Dycey:你的問題是否分類? – 2012-03-05 05:10:56

回答

0

如果這是一個Excel加載,那麼如果你調用

Application.UserLibraryPath() 

這會給你的目錄保存加載項,這將是這樣的:C:\ Documents \ Settings \ Username \ Application Data \ Microsoft \ AddIns \

0

插件的位置應該與插件嘗試保存用戶文檔的位置不同。 (即一般你不會混合程序和文件)。 您通常希望將Excel插件存儲在兩個位置之一中;無論是PC的所有用戶還是個人用戶。區別在於,個人用戶的插件通常是自定義或自組織的。 對於存儲的加載項的位置,請參閱stackoverflow: where to store excel addin

存儲用戶的PDF文檔,你應該給用戶使用已裝設用戶的文檔目錄的標準打開文件對話框覆蓋保存位置的選擇作爲根。

+0

錯誤,點一,很好。呃,第二點 - 實際上沒有。插件的原因是,這是讓Excel生成可由另一個系統以編程方式讀取的pdf的最簡單方法 - 只要其他系統知道去哪裏看;-)因此,覆蓋保存位置是一個不可。 – Dycey 2012-02-20 10:31:35