ページ:[ ] [1] [2] [3] [4] [5] [6] [7] [8] [ ]
523
2011/7/7 (木) 19:13:45  
[523] VBSマクロで単語ファイル等の設定を取得したい

初めまして。
サクラエディタ2.0.2で、人様のVBSを切り貼りして
なんとかマクロを作成しております。

サクラで、現在選択されているタイプ別設定の、
「単語ファイル」や「強調キーワード1〜10」の
絶対Pathを取得したいのですがどうすれば可能でしょうか?

よろしくお願いします。

もん
Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0

456
2009/2/22 (日) 14:23:27  
[456] 特殊文字列の連番方法。

はじめまして。
自分なりに調べてみたんですが、分からなかったので質問させて頂きます。

「':i001:' => 'i001.gif',」のカッコ内の様な文字を縦に連番で並べたいと考えています。

■例
':i001:' => 'i001.gif',
':i002:' => 'i002.gif',
':i003:' => 'i003.gif',
〜中略〜
':i100:' => 'i100.gif',
':i101:' => 'i101.gif',
':i102:' => 'i102.gif',

といった具合です。
普通の数字であれば、マクロを発見することができたんですが
どうしても、上記の様な文字列でも実行可能なものを発見出来ませんでした。
お教え頂けませんでしょうか。宜しくお願い致します。
正志
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6


2009/2/22 (日) 15:08:22  
[457] Pascal で組むの?

スクリプト言語 gawk をインストールして、プログラムすると出来る。
http://www.vector.co.jp/soft/win95/util/se376460.html

Sakura での実行は、ツールメニューの外部コマンド実行で、
「gawk -f "D:\My Documents\gawk\seqno.awk"」
標準出力を編集中のウィンドウで得るオプションを使うといい。

------ちなみに awk スクリプトは
#!/usr/bin/gawk
BEGIN { for (i=1; i<=102; i++)
        printf("':i%03d:' => 'i%03d.gif',\n", i, i); }
------ここまで
じゅうじ
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)


2009/2/22 (日) 15:47:13  
[458] Re:ありがとうございます。

スクリプト言語 gawk のインストールが分からなかったんですが
http://www.tmk-s.com/gaihen/awkinst.html
で解決する事ができました。

Sakuraで実行してみた所、しょぼいノートパソコンではりましたが
ものの3秒位で終わりました。
本当にありがとうございます。
正志
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6


2009/2/28 (土) 18:30:00  
[460] RE: 特殊文字列の連番方法。

>■例
>':i001:' => 'i001.gif',
>
>といった具合です。

表計算ソフトを使えば一発ですが,それでは回答になっていないんですよね...

OpenOffice Calcで
="':" & TEXT(A1;"000")&":' => '"& TEXT(A1;"000") &".gif"
':001:' => '001.gif'
':002:' => '002.gif'
':003:' => '003.gif'
...
それをCopy & Pasteする
げんた
INCM1.23c

519
2011/4/28 (木) 14:55:36  
[519] Aspellでスペルチェック

aspell.mac

//キーボードマクロのファイル
S_ExecCommand('C:\Program Files\Aspell\bin\aspell.exe -c "$F"', 0);
ひらやま
Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0

512
2011/2/12 (土) 00:37:54  
[512] .po ファイルのソースを参照したい

はじめまして。

.po ファイルを翻訳する際、そのエントリがどの.cファイルで使用されているか
参照したいのですが、どのようにしたらよいでしょうか。

.poファイルの各エントリは以下のような形になっています。

#: common/version.c:59
msgid "version "
msgstr "バージョン "

コメント行にソースファイルのパスと行が書いてあるので、
これを利用すればいいと思い、以下のppaマクロを書きました。

var
        Src: String;        // ソースファイルのパスと行
begin
        S_GoLineTop(0);        // 行頭に移動(折り返し単位)
        S_WordRight(0);        // 単語の右端に移動
        S_GoLineEnd_Sel(0);        // (選択)行末に移動(折り返し単位)
        Src := S_GetSelectedString(0);        //ファイルパスを取得
        S_FileOpen(Src);        //ファイルを開く
end

しかしこれでは、上記の例では"version.c:59"という名前のファイルを
新規作成して開いてしまうようです。

たぶん、":"を" -Y="に置換できればコマンドラインオプションの
形式に合致してうまくいくと思うのですが、ここで詰まってしまいました。
マクロを作るのは初めてなので、実は簡単な方法があるのかもしれませんが、
見つけられませんでした。

よろしくお願いします。
Belgae
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.94 Safari/534.13


2011/2/12 (土) 21:08:44  
[513] Re:.po ファイルのソースを参照したい

▼ Belgaeさん
はじめまして。

.poファイルのあるフォルダにcommonフォルダ、
そのcommonフォルダの中にversion.cがあり、.poファイルを開いた状態で
マクロを実行→version.cの59行目を開きたい、という仮定で組んでみました。
JScriptで組んでいますので、拡張子を.jsにしてマクロを登録してみてください。
とりあえず手元では動いています(sakura Ver1.6.6.0、WinXP)。
(グダグダしていて明快なコードじゃなくてごめんなさい)


//★ここから

// ファイルの親フォルダパスを取得
var filePath = ExpandParameter("$/");
var i = filePath.lastIndexOf("/");
var folderPath = filePath.substr(0, i+1);

// 1行目を取得して、.cのパスと行数を取得
var L1 = GetLineStr(1);
var reg =/#: (.+):(\d+)/;
if ( reg.test(L1) ) {
        // ファイルパスと行数が取得できたっぽい
        var openFilePath = folderPath + RegExp.$1;
        var line = RegExp.$2;
 
        // サクラエディタを呼び出して指定行数で開く
        var sakura = ExpandParameter("$S");
        ExecCommand(sakura + ' "' + openFilePath + '" -Y=' + line, 0);
};
// ファイルがない場合は勝手に作成されます。保存しないで閉じてください。

//★ここまで
普段ROMってます
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)


2011/2/12 (土) 21:52:17  
[514] Re2:.po ファイルのソースを参照したい

▼ 普段ROMってますさん
ご返答ありがとうございます。

最初は動きませんでした。頂いたマクロをよく見たところ、パスがファイルの
1行目に書かれている前提になっていたためでした。私の説明が足りませんでした。
.poファイルにはエントリがたくさんあって、それぞれのエントリにコメントとして
その翻訳対象語が使用されているファイルのパスが付いているのです。

そこで、GetLineStr()の引数を1ではなく0(現在の行)に変えて
実行したところ、希望通りの動作になりました。
ありがとうございました。
Belgae
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13


2011/2/13 (日) 00:10:29  
[515] Re3:.po ファイルのソースを参照したい

▼ Belgaeさん
こりゃ失敬。.poの中身をよく理解してなかった私が悪いですな。
行指定があるって事は1ファイルにエントリがずらっと並ぶものだと今更気がつきました。
何はともあれ動いたようで何よりです。
普段ROMってます
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)

290
2006/7/2 (日) 16:14:21  
[290] INCLUDEファイルを開く

' OpenIncludeFile.vbs
'
' 現在行にある #include <file.h>、#include "file.h" のfile.hを開く。
' 検索対象は環境変数の INCLUDE と現在開いているファイルのフォルダ内

Call Main

' メイン処理
Sub Main()
    Dim objShell
    Dim sDistFileName, sCurDirName
    Dim i, pos

    Set objShell = CreateObject("Wscript.Shell")
    sIncPath = objShell.ExpandEnvironmentStrings("%INCLUDE%")

    sDistFileName = getIncludeFileName(Editor.GetLineStr(0))
    sCurDirName = getCurrentFolderName()

    If openFile(sCurDirName & sDistFileName) Then Exit Sub

    i = 1
    Do While True
        pos = InStr(i, sIncPath, ";")
        If IsNull(pos) Then Exit Do
        If pos = 0 Then
            If openFile(Mid(sIncPath, i)) Then Exit Sub
            Exit Do
        End If
        If openFile(Mid(sIncPath, i, pos - i)) Then Exit Sub
        i = pos + 1
    Loop
End Sub

' インクルードファイル名取得
Function getIncludeFileName(sLine)
    Dim pos, endpos
 
    getIncludeFileName = ""
    pos = InStr(1, sLine, "<")
    If pos = 0 Then
        pos = InStr(1, sLine, """")
        endpos = InStr(pos + 1, sLine, """")
    Else
        endpos = InStr(pos + 1, sLine, ">")
    End If

    If pos = 0 Or endpos = 0 Then Exit Function
    pos = pos + 1
    getIncludeFileName = Mid(sLine, pos, endpos - pos)
 
End Function

' 現在のフォルダ名取得
Function getCurrentFolderName()
    Dim pos
    Dim sCurFileName
 
    getCurrentFolderName = ""
 
    sCurFileName = GetFileName()
    pos = InStrRev(sCurFileName, "\")
    If pos = 0 Then Exit Function
    getCurrentFolderName = Mid(sCurFileName, 1, pos)
End Function

' ファイルが存在していたら開く
Function openFile(sPath)
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
 
    openFile = False
    If (fso.FileExists(sPath)) Then
        Editor.FileOpen (sPath)
        openFile = True
    End If
 
End Function

まくろ初心者
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

503
2010/9/7 (火) 15:59:33  
[503] ステータスバーにメッセージを表示できますか?

マクロでの計算結果などを、ステータスバーにさり気なく表示することは出来ますでしょうか?

たけ(tk)
Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.6.30 Version/10.61


2010/9/10 (金) 02:02:51  
[508] Re: ステータスバーにメッセージを表示できますか?

キーマクロの次検索で確認した感じでは、不可能なようです。
たとえ、COM等を使ってWin32API経由で設定しても、マクロ終了時の再作画でメッセージが消えそうです。

#内蔵するとしても、そのへんの動作をフォローしないと。
もか
INCM1.23c


2010/9/14 (火) 11:03:24  
[509] Re2: ステータスバーにメッセージを表示できますか?

わざわざ調べていただき、ありがとうございました。

> キーマクロの次検索で確認した感じでは、不可能なようです。
> たとえ、COM等を使ってWin32API経由で設定しても、マクロ終了時の再作画でメッセージが消えそうです。
>
> #内蔵するとしても、そのへんの動作をフォローしないと。


できるようになるとうれしいですね。
たけ(tk)
Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.6.30 Version/10.62

504
2010/9/7 (火) 16:14:39  
[504] マクロでの計算結果をクリップボードに入れることはできますか?

マクロでの計算結果を(エディタウィンドウに書き出すのではなく)クリップボードに入れることはできますか?

たけ(tk)
Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.6.30 Version/10.61


2010/9/9 (木) 15:59:14  
[507] Re:マクロでの計算結果をクリップボードに入れることはできますか?

こんな風なの(↓)を作ってみましたが、

Ctrl+Z で途中経過が出てきてしまうといった副作用があります。

副作用なしで実現する方法はありますでしょうか?


  // SetClip( str )関数は
  // クリップボードに str を入れる。
  //
  // * Ctrl+Z で途中経過が出てきてしまう。
  //
function SetClip( str ) {
  Editor.MoveHistSet();
  Editor.GoLineTop(0);
  Editor.InsText( str )
  Editor.BeginSelect();
  Editor.GoLineTop(0);
  Editor.Cut();
  Editor.MoveHistPrev();
}

SetClip( "test" );

* ステータスバーへの書込は、見当がつかない・・。だれかお願いいたします。
たけ(tk)
Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.6.30 Version/10.61

505
2010/9/7 (火) 16:22:11  
[505] 検索文字列にアクセスできますか?

マクロから検索文字列を参照したり、設定することは出来ますでしょうか?
たけ(tk)
Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.6.30 Version/10.61


2010/9/7 (火) 17:43:44  
[506] Re:検索文字列にアクセスできますか?

▼ たけ(tk)さん
> マクロから検索文字列を参照したり、設定することは出来ますでしょうか?

入れる方はこんな感じになりました(js)。

function SetSearch( str ){
  Editor.MoveHistSet();
  Editor.SearchNext(str);
  Editor.MoveHistPrev();
}

SetSearch( "test" );

取得は出来ますか?
たけ(tk)
Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.6.30 Version/10.61

501
2010/7/9 (金) 01:06:18  
[501] 初心者です。マクロの設定方法について

昨日初めてサクラエディターをダウンロードした初心者なのですが、
いろいろなサイトを見てみましたが、マクロの設定の仕方が
ぜんぜん分からなく、こちらで質問しました。

C言語書くときに
tabとかで余計にインデントしたあとに
printfとか書く時にprintf( この(書いたときにインデント崖されてしまってます。

スマートインデントはONにしたまま、
開き括弧だけスマートインデント動作しないように、
InsText("(");
のようなマクロをShift+8キーに割り当てるのはどうすればいいのでしょうか?

マクロについては全然わからないです><

宜しくお願いしますm(__)m
初心者
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; MDDS; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

497
2010/7/1 (木) 12:21:14  
[497] サクラエディタからEvernoteに新規ノートを追加するマクロ

はじめまして。usami-kといいます。

サクラエディタからEvernoteに新規ノートを追加するマクロを作ってみました。
WindowsのEvernoteアプリに付属する「ENScript.exe」コマンドを使用しています。

だいたいうまく動作しているのですが、時々文字化けしてしまいます・・・。
そのため、Wikiのマクロ投稿のページに書き込むのを躊躇していましたが、
掲示板があると知ったので、ひとまず投稿してみます。

もし可能でしたら、どなたかアドバイスをいただけると嬉しいです。

**********

// 選択文字列をEvernoteの新規ノートとして追加するマクロ
// Evernoteアプリがインストールしてあることが条件
// Author : usami-k

var shell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");

// ENScriptのパス
var enscript = "C:\\PROGRA~1\\Evernote\\Evernote3.5\\ENScript.exe"

// サクラエディタの選択文字列を取得する
if( IsTextSelected() )
{
        // 一時保存用ファイル名
        var temp = shell.ExpandEnvironmentStrings("%TEMP%" + "\\temp-evernote.txt");

        // 選択文字列をファイルに書き込み
        var file = fso.CreateTextFile(temp);
        file.Write(GetSelectedString());
        file.Close();

        // ファイルをEvernoteに渡す
        shell.Run(enscript + " createNote /s " + temp, 7, true);

        // ファイル削除
        fso.DeleteFile(temp);

        // 完了通知
        shell.Popup("Evernoteにメモを追加しました");
}
else
{
        shell.Popup("選択文字列がありません");
}
usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/7/1 (木) 12:24:03  
[498] Re:サクラエディタからEvernoteに新規ノートを追加するマクロ

書き忘れたので補足します。マクロはJScriptです。
usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/7/5 (月) 12:03:15  
[499] Re:サクラエディタからEvernoteに新規ノートを追加するマクロ

多少、変更を加えました。
・一時ファイル名は日付と時刻を使用(YYYYMMDDhhmmss形式)
・一時ファイルを削除しない(文字化けが発生した時の保険)

**********

// 選択文字列をEvernoteの新規ノートとして追加するサクラエディタマクロ(JScript)
// 補足:Evernoteアプリ同梱のENScript.exeを使用している
// Author : usami-k

var shell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");

// ENScriptのパス
var enscript = "C:\\PROGRA~1\\Evernote\\Evernote3.5\\ENScript.exe"

// 一時保存用ファイル名
var tempname = shell.ExpandEnvironmentStrings("%TEMP%" + "\\" + getCurrentDateTimeString());

// サクラエディタの選択文字列を取得する
if( IsTextSelected() )
{
        // 選択文字列をファイルに書き込み
        var file = fso.CreateTextFile(tempname);
        file.Write(Editor.GetSelectedString());
        file.Close();

        // ファイルをEvernoteに渡す
        shell.Run(enscript + " createNote /s " + tempname, 7, true);

        // Evernote同期
        //<同期を行うとマクロ処理が遅くなるのでコメントアウトしている>
        //shell.Run(enscript + " syncDatabase", 7, true);

        // ファイル削除
        //<ノートが文字化けする場合があるので保険のためコメントアウトしている>
        //fso.DeleteFile(tempname);

        // 完了通知
        shell.Popup("Evernoteにメモを追加しました");
}
else
{
        shell.Popup("選択文字列がありません");
}

// 現在の時刻をYYYYMMDDhhmmss形式で返す
function getCurrentDateTimeString()
{
        var date = new Date;
        var string = "";

        string += date.getFullYear();
        string += ("0" + (date.getMonth() + 1)).slice(-2);
        string += ("0" + date.getDate()).slice(-2);
        string += ("0" + date.getHours()).slice(-2);
        string += ("0" + date.getMinutes()).slice(-2);
        string += ("0" + date.getSeconds()).slice(-2);

        return string;
}

usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/7/6 (火) 12:11:00  
[500] Re2:サクラエディタからEvernoteに新規ノートを追加するマクロ

間違いがありましたので修正です。
(ファイル名に拡張子が必要)

> // 一時保存用ファイル名
> var tempname = shell.ExpandEnvironmentStrings("%TEMP%" + "\\" + getCurrentDateTimeString());


// 一時保存用ファイル名
var tempname = shell.ExpandEnvironmentStrings("%TEMP%" + "\\" + getCurrentDateTimeString() + ".txt");
usami-k
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

496
2010/5/6 (木) 17:32:26  
[496] 管理人削除

-
-
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; 360SE)

482
2010/2/24 (水) 17:55:55  
[482] grep結果をtextファイルに保存する方法について

皆様

はじめまして。
マクロについて教えていただけますでしょうか。

grepした結果をtextファイルに保存するマクロを
作成したいのですが、どのように記載したら
宜しいでしょうか?
下記のように記載したところ、
何も表示されないファイル(0Byte)が作成されるのみでした。

=======================================================
//test
S_Grep(test:', '*.*', 'C:\test', 52);        // Grep

//保存
FileSaveAs('C:\test\result\test.txt',99,0);

=======================================================

すみませんが、grep結果をtestファイルで保存する
マクロの記載方法を教えていただけますでしょうか。
白猫
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)


2010/2/24 (水) 23:43:01  
[483] Re: grep結果をtextファイルに保存する方法について

>すみませんが、grep結果をtestファイルで保存する
>マクロの記載方法を教えていただけますでしょうか。

1つ前のかたの書き込みでも書かれてますが、Grep結果は違うウィンドウに
なってしまうために、今のところマクロだけではできないと思います。

2000/XP以上で簡単な検索なら findとかを使うことを検討したほうが早いかもしれません。
使い方は、コマンドプロンプトで find /?でみてください。
もか
INCM1.23c


2010/2/25 (木) 11:10:19  
[484] Re2: grep結果をtextファイルに保存する方法について

もかさん

早速のご回答、誠にありがとうございます。
findで解決することが出来、とても助かりました。
ありがとうございました。
白猫
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)

ページ:[ ] [1] [2] [3] [4] [5] [6] [7] [8] [ ]
INCM/CMT
Cyclamen v3.81