So-net無料ブログ作成

kubuntu14.04 VirtualBox windowsXPについて [kubuntu14.04]


kubuntu14.04 VirtualBox windowsXPについて

kubuntu14.04 32bitのvirtualboxが最近頻繁にアップデートされている。


私の推測では不具合の修正らしい?
そう判断する根拠は、virtualboxを起動したらなにやらエラーが表示されwindowsXPが起動できい。
virtualboxを起動すると新しいversionをダウンロードするようにと表示されるのでダウンロードして、インストールしたらエラーが解消されwindowsXPが起動できるようになった。

新しいversionは 5.024  
virtualbox-5.0_5.0.24-108355~Ubuntu~trusty_i386.deb
インストールは sudo dpkg -i virtualbox-5.0_5.0.24-108355~Ubuntu~trusty_i386.deb
で上書きインストールでOKだった。

hp Compaq6720sのメモリーを1GX2=2G から 2GX2=4G にしたので virtualboxのwindowsXPも快適に使える。
メモリーが2Gの時は起動音が途切れていたが、4Gにしてからは途切れることもなく快適。

メモリーはDDR2 PC5300 とかPC6400が使える。
PAE対応なので32bit版でも4Gフルに使えるらしい?

windowsXP SP2からSP3へ
windows updatesdownloder をXPにインストールし、SP3日本語をダウンロード
SP3本体の他かなりのアップデートがダウンロード出来無かった。

SP3のダウンロード、検索した結果ネット上のアーカイブ からダウンロードしインストールした。
windows updatedownloder でダウンロードしたファイル全てをインストールしてSP3にアップできた。

なぜSP3にしたかは、VIP Accessをインストールしてネットバンキングを利用したかったので、、金融機関は信用金庫

で、無事信用金庫にログイン出来るようなったのですが、XPでログインするとメールが来てXPでのログインはお止めください、とか叱られる。
で、firefoxにuserAgentswicherを使ってwin7に偽装してログインすることにした。

kubuntu14.04 firefox からでも ワンタイムパスワードを入力すればログインできるのでuserAgentを偽装しなくてすむ。

大変時間がかかり半日仕事になって。。。

kubuntu14VirtualBOX.jpg

 

 

 


LibreOffice Basic ファイルのフルパスからファイル名拡張子名を取り出すマクロ [LibreOffice Calc Basic]

LibreOffice Basic ファイルのフルパスからファイル名拡張子名を取り出すマクロ

 

Sub filename()
'フルパスからファイル名を取り出す。
    'Tools呼出
        GlobalScope.BasicLibraries.LoadLibrary("Tools")

        oFile="files:///home/telstar/ピクチャ/027_1000.jpg"
    'システムファイル名をファイルURLへ変換します
        oURL = ConvertToUrl(oFile)
        'Print oURL
    '拡張子なしのファイル名
        fName=GetFileNameWithoutExtension(oURL,"/")
    '拡張子名
        ExtensionName=GetFileNameExtension(oFile)
    '拡張子付きファイル名の表示
        Print fName & "." & ExtensionName
End Sub
 

 


LIbreofficeCalcBasic シートに複数の画像を挿入、位置の保護するマクロの実験 [LibreOffice Calc Basic]

LIbreofficeCalcBasic シートに複数の画像を挿入、移動位置の保護するマクロの実験

訂正 移動 NG → 位置 

ここのところ実験してきたマクロで初期の目的、複数の画像を挿入しファイル名を表示し移動位置を保護する マクロが完成した。

LibreofficeCalcMRIsetString4.png

 

Sub PicS_insert_draw()
'ファイル選択ダイアログで複数の画像ファイルを選択して、シートに書き込む
    Dim aSize as new com.sun.star.awt.Size
    Dim aPos as new com.sun.star.awt.Point
'        drawpage =  ThisComponent.CurrentController.activesheet.getDrawPage()
'        shape = ThisComponent.createInstance("com.sun.star.drawing.GraphicObjectShape")
'oLayerManager = ThisComponent.LayerManager()
'----------------------------------------------------------------------------------------------------   
'選択範囲のサイズ、位置
    With ThisComponent.CurrentController.selection
          pX=.Position.X
         pY=.Position.Y
        sH=.Size.Height
         sW=.Size.Width
     End With
'-----------------------------------------------------------------------------------------------------
'FilePickerで複数画像URL取得
 ' ファイル選択ダイアログ 初期化
            oFilePicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
        '複数選択モードTrue
        'setMultiSelectionMode(False) →.getFiles()
        'setMultiSelectionMode(True) →selectedFiles()
            oFilePicker.setMultiSelectionMode(True)
        'フィルター 画像ファイル
            oFilePicker.appendFilter("画像ファイル","*.jpg;*.jpeg;*.png;*.gif;*.bmp")
        '表示ディレクトリ
            sDir = "file:///home/telstar/ピクチャ"
            oFilePicker.setDisplayDirectory(sDir)
    '画像選択ダイアログ表示          
            fpd=oFilePicker.execute
        'ファイルが選択されたか? fpd=1 選択された、fpd<>1キャンセルされた
                if fpd <> 1 then
                    Exit Sub
                end if
  
    'ファイルURL取得
        For i=0 to Ubound(oFilePicker.selectedFiles())
            '選択画像をDrawPageにインサートするための設定 Loop内で
            'Loop外で設定すると連続画像挿入がうまく出来無い   
                drawpage =  ThisComponent.CurrentController.activesheet.getDrawPage()
                shape = ThisComponent.createInstance("com.sun.star.drawing.GraphicObjectShape")
            'ConvertToURLでfile://を取り除く  システムファイル名をファイルURLへ変換
                shape.GraphicURL = ConvertToURL(oFilePicker.selectedFiles(i))
            'URLからファイル名を取り出す
                oURL=oFilePicker.selectedFiles(i)
                len_URL=Len(oURL)
                    For j=len_URL To 1 Step -1
                        a=mid(oURL,j,1)
                        If a="/" Then
                            oURL=right(oURL,len_URL-j)
                    'Print oURL
                        J=1
                        End If
                    Next j
           
'-------------------------------------------------------------------------------------------------------------------
    '画像の挿入

            celHeight=452        '画像間隔 標準cell高さ
            aSize.Width = sW
            aSize.Height = sH
            aPos.X = pX
            aPos.Y = pY+(sH+celHeight)*i
            shape.Size = aSize
            shape.Position = aPos
            'Shape.LayerId = 1    '最背面に設定
            drawpage.add(shape)
            '文字の挿入
                'shape.setString("No." + (i+1))
                shape.setString(oURL)
                shape.CharColor=RGB(120,120,120)
                'shape.CharBackColor=RGB(255,255,255)
                shape.CharShadowed=true
    '追記
            '文字垂直方向位置 0=top  1=center   2=bottom
                shape.TextVerticalAdjust=2
                '文字水平方向位置    0=left   1=center   2=right
                shape.TextHorizontalAdjust=2
                '下からの位置 単位100分の1ミリメートル
                shape.TextLowerDistance =300
                '右からの位置
                shape.TextRightDistance =300
               
            '移動保護
                shape.MoveProtect=true

               
            '移動位置の保護
                shape.MoveProtect=true
       
        Next i
 
End Sub

 

 

LibreofficeCalcMRIsetString5.png

LibreofficeCalcMRIsetString6.png

 


LibreOffice MRI シートの画像 [LibreOffice Calc Basic]

LibreOffice MRI シートの画像

  • シートの画像を選択し、MRI<-selectionを起動する
  • MRIのメニューバー Macrosをクリック→下図の赤枠をクリック

LibreofficeCalcMRIsetString.png

LibreofficeCalcMRIsetString1.png

メソッドタブをクリック、setStringをダブルクリック

LibreofficeCalcMRIsetString2.png

文字を入力し、OKをクリックすると、画像にtestの文字が追加される。

つまり、
ThisComponent.CurrentController.activesheet.getDrawPage().getByIndex(0).setString("test") と書けばOK

その他にもいろいろなプロパティ、メッソドを試してみる、調べたい事は画像の保護を設定することなのですが、予想ではisLock,protectみたいなものがないので、保留
追記
.MoveProtect=true が移動保護

 

     with ThisComponent.CurrentController.activesheet.getDrawPage().getByIndex(i)
                '.FillShadow =1 NG
                .ShadowColor=rgb(200,200,200)
                .ShadowXDistance=150
                .ShadowYDistance=150
                '.setString="test"   NG
                .setString("No." + i)
                .CharBackColor=RGB(255,255,255)
                .MoveProtect=true
            End With

 LibreofficeCalcMRIsetString3.png

 


タグ:MRI

LibreOffice Calc Basic アクティブシートの画像に影をつけるマクロの実験 [LibreOffice Calc Basic]

LibreOffice Calc Basic アクティブシートの画像に影をつけるマクロの実験

つぎはぎで作ったので、何かおかしいですが、動作します。

LibreofficeCalcShadow.png

 

 

Sub shadow_test1()
'アクティブシートの画像に影を設定する
'影が設定されていれば解除、設定されていなければ設定する

    drawPage=ThisComponent.CurrentController.ActiveSheet.drawPage
    '画像の数
    drawCount= ThisComponent.CurrentController.ActiveSheet.DrawPage.count
    'Print drawCount
    'uno:FillShadow用設定
        document   = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    '影shadow設定
        For i=0 To drawCount-1
            '画像選択
            ThisComponent.CurrentController.select(drawPage.getByIndex(i))
            '選択画像の影のプロパティ設定
            with ThisComponent.CurrentController.activesheet.getDrawPage().getByIndex(i)
                '.FillShadow =1 NG
                .ShadowColor=rgb(200,200,200)
                .ShadowXDistance=150
                .ShadowYDistance=150
                '.setString="test"   NG
                .setString("No." + i)    文字を挿入
            End With
        '影表示、非表示
        dispatcher.executeDispatch(document, ".uno:FillShadow", "", 0, Array())
    Next i
End Sub

 

 

LibreofficeCalcShadow1setString.png