2016-04-26 3 views
0

Wie Sie sehen können Ich exportiere Crystal Report in eine PDF-Datei aber mein Problem ist, dass der Pfad der Crystal Report RPT-Datei und Pfad zum Speichern der Out-Datei (PDF-Datei) seit dem Pfad zum Ordner auf dem Desktop wird seinwie eine Datei im Ordner auf dem Desktop speichern, egal was der Pfad ist?

C:\Users\Xuser\Desktop 
zwischen PCs wie

PC1 Pfadcode geändert

und auf def mieten pc

C:\Users\XYPC\Desktop 

so ist der Pfad ist kein statischer Weg .. sowieso Ausweg?

Update:

jetzt unter Code den Pfad zum Desktop erhalten, aber ich bin immer Ausnahme über Zugriffsrechte, die den Zugriff auf Pfad wird

verweigert
private void ExportToPDF() 
    { 

     ReportDocument cryrpt = new ReportDocument(); 

     try 
     { 
      cryrpt.Load("INVOICE_REP.rpt"); 

      ExportOptions CrExportOptions; 
      DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions(); 
      PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions(); 
      CrDiskFileDestinationOptions.DiskFileName = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); 
      MessageBox.Show(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)); 
      CrExportOptions = cryrpt.ExportOptions; 
      { 
       CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; 
       CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; 
       CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions; 
       CrExportOptions.FormatOptions = CrFormatTypeOptions; 
      } 
      cryrpt.Export(); 

      MessageBox.Show("Export Done"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
    } 
+0

System.Environment.GetFolderPath (Environment.SpecialFolder.Desktop) – LaneL

Antwort

1

Sie können die Umgebungsklasse verwenden.

Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
1

Verwenden Sie Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), um den Pfad zum Desktop abzurufen.

David Fulop schlug vor, Environment.GetFolderPath(Environment.SpecialFolder.Desktop) zu verwenden. Was ist der Unterschied zwischen DesktopDirectory und Desktop?

auf MSDN nach:

  • Desktop ist "die logische Desktop-eher als die physische Dateisystempfad."
  • DesktopDirectory ist "das Verzeichnis zum physischen Speichern von Dateiobjekten auf dem Desktop."

Quelle für alle oben: https://msdn.microsoft.com/en-us/library/system.environment.specialfolder%28v=vs.110%29.aspx

+0

Das ist großartig, aber jetzt habe ich eine Fehlermeldung über Zugriffsberechtigungen, die den Zugriff auf Pfad wird – samer

+0

verweigert Können Sie Ihre Frage so bearbeiten, dass sie den Code enthält, der diesen Fehler verursacht? –

+0

Ich habe meinen Code aktualisiert – samer

Verwandte Themen