すべての Crystal レポートには画像があります (会社のロゴなど)。これらの画像の一部は、C:\Images\ReportLogo.bmp などのローカル マシン上のファイルにハード リンクされています。[編集] > [リンク] をクリックすると、Crystal Reports Designer からこれらのリンクにアクセスできます。このポップアップ フォームには、Break Linkというラベルの付いたボタンがあります。すべてのレポート ファイルを手動で開いてボタンをクリックするのではなく、プログラムでリンクを解除するにはどうすればよいですか? 100 件以上のレポートがあるので、手動の方法は避けたいと思います。
これは私がこれまでに持っているものです (これを使用して、リンクを解除しようとしている同じ画像オブジェクトの幅/高さを設定します:
Imports RAS = CrystalDecisions.ReportAppServer
Dim cdwReport as RAS.ReportClientDocumentWrapper
Dim crcObjects As RAS.ReportDefModel.ReportObjects = cdwReport.ReportDefController.ReportObjectController.GetAllReportObjects
Dim crcPictureObject As CrystalDecisions.ReportAppServer.ReportDefModel.PictureObject
For Each crcObject As RAS.ReportDefModel.ReportObject2 In crcObjects
If crcObject.Kind = CrystalDecisions.ReportAppServer.ReportDefModel.CrReportObjectKindEnum.crReportObjectKindPicture Then
crcPictureObject = crcObject
With crcPictureObject
.OriginalHeight = PicHeight
.OriginalWidth = PicWidth
'Break link here
End With
End If
crcPictureObject.LinkedURI
なんでもない。
これがすべてのリンクを切断するための適切なルートであるかどうかは 100% わかりません。上記のコードは、フォルダー内のすべてのレポートをループ処理します。
これを行う「簡単な」方法はありますか?(VB.net/C# のどちらでも構いません)