クリップボードの文字列の末尾の文字がタブ文字の場合、SPREADにペーストされない
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
クリップボードの文字列の末尾の文字がタブ文字の場合、SPREADにペーストすることができません。
回避方法
Service Pack 3(v1.0.2016.1207)で修正済みです。
Service Pack 3(v1.0.2016.1207)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
クリップボードの文字列末尾がタブ文字場合に、改行コードを追加します。
【サンプルコード】
Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Clipboard.Clear()
Clipboard.SetText("a" + vbTab + "b" + vbTab)
' 回避策[1/2]
CommandManager.AddPreviewExecutedHandler(GcSpreadGrid1, New ExecutedRoutedEventHandler(AddressOf PreviewCommand))
End Sub
' 回避策[2/2]
Private Sub PreviewCommand(sender As Object, e As ExecutedRoutedEventArgs)
If e.Source Is GcSpreadGrid1 AndAlso (e.Command Is GcSpreadGrid1.EditCommands.Paste OrElse e.Command Is ApplicationCommands.Paste) Then
Dim cliptext As String = Clipboard.GetText()
If cliptext.EndsWith(vbTab) Then
cliptext += Environment.NewLine
Clipboard.SetText(cliptext)
End If
End If
End Sub
Service Pack 3(v1.0.2016.1207)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
クリップボードの文字列末尾がタブ文字場合に、改行コードを追加します。
【サンプルコード】
Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Clipboard.Clear()
Clipboard.SetText("a" + vbTab + "b" + vbTab)
' 回避策[1/2]
CommandManager.AddPreviewExecutedHandler(GcSpreadGrid1, New ExecutedRoutedEventHandler(AddressOf PreviewCommand))
End Sub
' 回避策[2/2]
Private Sub PreviewCommand(sender As Object, e As ExecutedRoutedEventArgs)
If e.Source Is GcSpreadGrid1 AndAlso (e.Command Is GcSpreadGrid1.EditCommands.Paste OrElse e.Command Is ApplicationCommands.Paste) Then
Dim cliptext As String = Clipboard.GetText()
If cliptext.EndsWith(vbTab) Then
cliptext += Environment.NewLine
Clipboard.SetText(cliptext)
End If
End If
End Sub