Проблема, чтобы иметь авто Excel на PDF - PullRequest
0 голосов
/ 30 марта 2019

У меня небольшие проблемы с сайтом записи моего файла Excel в формате pdf.

Я хочу, чтобы записанный файл был записан в файл по сравнению со значением ячейки, представляющей процент.Пример: ячейка I2 = 5% Таким образом, мой файл будет называться Document 5%, и я хочу, чтобы он был записан в файл Roasts 5%.За исключением того, что я нахожу это записанным в другом месте.

Спасибо за помощь

Sub Bouton_PDF()

Dim NomFichier As String
Dim Chemin As String

Select Case Range("I2").Text
    Case Is = "1%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE" & Range("I2").Text
    Case Is = "2%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 2%"
    Case Is = "3%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 3%"
    Case Is = "4%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 4%"
    Case Is = "5%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 5%"
   Case Is = "6%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 6%"
   Case Is = "7%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 7%"
   Case Is = "8%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 8%"
   Case Is = "9%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 9%"
   Case Is = "10%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 10%"
   Case Is = "11%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 11%"
   Case Is = "12%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 12%"
  Case Is = "13%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 13%"
  Case Is = "14%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 14%"
  Case Is = "15%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 15%"
  Case Is = "16%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 16%"
  Case Is = "17%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 17%"
  Case Is = "18%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 18%"
  Case Is = "19%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 19%"
   Case Is = "20%"
        Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 20%"
End Select



NomFichier = "GRILLE_TARIFIAIRE_RETAIL_ATLAS_NEGOCE_REMISE_" & Range("I2").Text


            Range("A1:H81").Select
            Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomFichier, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=True

End Sub

1 Ответ

0 голосов
/ 30 марта 2019

На этой строке:

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomFichier, _

Вы говорите только, каким должно быть имя файла PDF, но не папку, в которую вы хотите сохранить PDF. Поэтому, возможно, PDF-файл по умолчанию сохраняется в папке, в которой сохранена рабочая книга, или в какой-либо другой папке.

Кроме того, я думаю, что некоторые файловые системы ограничивают имена файлов (и пути к файлам) определенным лимитом символов. Если путь к файлу или имя файла слишком длинные, вы можете получить сообщение об ошибке, а файл PDF не сохранится.

Попробуйте приведенный ниже код, хотя вам может потребоваться изменить значения Chemin и NomFichier (поскольку мне было не ясно, чего вы хотите достичь).

Option Explicit

Sub Bouton_PDF()

    Dim percentageValue As String
    percentageValue = Range("I2").Text ' This will refer to cell I2 of whatever sheet is active whilst the code is running.

    Dim Chemin As String ' This is the folder that your PDF will be saved in.
    Chemin = "Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE " & percentageValue & "\"

    Dim NomFichier As String ' This is the name of the PDF.
    NomFichier = "GRILLE_TARIFIAIRE_RETAIL_ATLAS_NEGOCE_REMISE_" & percentageValue & ".pdf"

    ' Say the percentage is 2%:
    ' Then Chemin will be Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 2%\
    ' And NomFichier will be GRILLE_TARIFIAIRE_RETAIL_ATLAS_NEGOCE_REMISE_2%.pdf
    ' And the full file path will be Y:\Sebiha\GRILLE TARIFAIRE\GRILLE TARIFAIRE 1%\GRILLE_TARIFIAIRE_RETAIL_ATLAS_NEGOCE_REMISE_2%.pdf

    ' Again, this will refer to cells A1:H81 of whatever sheet is active whilst the code is running. Include the worksheet's name if you can.
    Range("A1:H81").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFichier, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True

End Sub
...